DOS批处理获取系统信息与U盘使用记录并上传数据

DOS批处理获取系统状态(SN、硬盘序列号、补丁安装信息、网络连接痕迹、U盘使用记录)+自动上传数据到指定共享文件夹

分享一个我结合网上各种资料写的批处理,它能够获取电脑的S/N码、硬盘S/N码、补丁信息、网络信息、MAC地址、U盘使用记录(U盘型号序列号),根据需要还有上传数据到共享文件夹的功能。

@echo off
::  关闭回显
title kotori_poi
color 0a
::  开启字体变绿
echo 计算机S/N码: > %~dp0systemcheck.txt
wmic bios get serialnumber | find /v "SerialNumber" >> "%~dp0systemcheck.txt"
::  获取电脑S/N码
echo 计算机硬盘S/N码: >> %~dp0systemcheck.txt
WMIC path win32_physicalmedia get serialnumber | find /v "SerialNumber" >> "%~dp0systemcheck.txt"
::  获取硬盘S/N码
for /f "tokens=1-2,4-5" %%i in ('echo list disk ^| diskpart ^| findstr /i GB') do (
	echo %%i %%j 容量:%%k %%l >> %~dp0systemcheck.txt
)
::获取硬盘大小
systeminfo >> %~dp0systemcheck.txt
::  获取系统信息(安装的补丁)
getmac /v >> %~dp0systemcheck.txt
netstat -an >> %~dp0systemcheck.txt
::  获取网络信息、MAC地址
reg  query  HKLM\System\currentcontrolset\enum\usbstor  /s  >%~dp0usbUsagerecord.txt
::  获取U盘注册表记录
(
echo -------------------
echo \    U盘使用记录: \
echo  -------------------

) >> %~dp0systemcheck.txt

:: 以下操作都是筛选U盘序列号
( findstr  /c:"&0\Device Parameters\Partmgr" %~dp0usbUsagerecord.txt) > %~dp0usbUsagerecord1.txt

@echo off&setlocal enabledelayedexpansion
:: 定义变量延迟环境,关闭回显

:: 读取usb1.txt所有内容
for /f "eol=* tokens=*" %%i in (%~dp0usbUsagerecord1.txt) do (
:: 设置变量a为每行内容
set a=%%i
:: 如果该行有HKEY_LOCAL_MACHINE\System\currentcontrolset\enum\usbstor\Disk&Ven_,则将其改为型号:
set "a=!a:HKEY_LOCAL_MACHINE\System\currentcontrolset\enum\usbstor\Disk&Ven_= 型号:!"
:: 如果该行有&0\Device Parameters\Partmgr,则将其改为 空格
set "a=!a:&0\Device Parameters\Partmgr= !"
:: 如果该行有\,则将其改为 序列号:
set "a=!a:\=  序列号:!"
:: 如果该行有&Rev_PMAP,则将其改为 空格
set "a=!a:&Rev_PMAP= !"
:: 如果该行有&Rev_1.00,则将其改为 空格
set "a=!a:&Rev_1.00= !"
:: 如果该行有&Rev_2.00,则将其改为 空格
set "a=!a:&Rev_2.00= !"
:: 如果该行有&Rev_3.00,则将其改为 空格
set "a=!a:&Rev_3.00= !"
:: 如果该行有&Rev_,则将其改为 空格
set "a=!a:&Rev_= !"
:: 把修改后的全部行存入%~dp0systemcheck.txt
echo !a!>>%~dp0systemcheck.txt )
del %~dp0usbUsagerecord.txt
del %~dp0usbUsagerecord1.txt
start notepad "%~dp0systemcheck.txt"
echo 结果在本程序所在目录--》systemcheck.txt
pause

结果报告需要自动静默上传你的共享服务器的,在最后加上下面这行代码。
注:上传的TXT文件名是执行批处理主机的SN码(主机的序列号)。

net use  \\你的服务器IP\共享文件夹 " " /user:"anonymous"
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in (%~dp0systemcheck.txt) do (
set /a n+=1
if !n!==2 set a=%%a
)
::将SN码存入变量
for  %%a in (%a%) do (copy /y %~dp0systemcheck.txt \\你的服务器IP\共享文件夹\%%a.txt)

升级版,结果报告需要弹出窗口,然后选择上传你的共享服务器的,把上面的代码换成下面的代码。
注:上传的TXT文件名是执行批处理主机的SN码(主机的序列号)。

set b=
echo Wsh.Echo MsgBox("是否上传结果到BGS?选是上传,选否不上传并退出 ",vbYesNo,"kotori_poi") >tmp.vbs
for /f %%a in ('cscript tmp.vbs //nologo //e:vbscript') do set "b=%%a"
if %b%==6 goto Yes
if %b%==7 goto end
del /q tmp.vbs
exit

:Yes
net use  \\你的服务器IP\共享文件夹 " " /user:"anonymous"
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in (%~dp0systemcheck.txt) do (
set /a n+=1
if !n!==2 set a=%%a
)
::将SN码存入变量
for  %%a in (%a%) do (copy /y %~dp0systemcheck.txt \\你的服务器IP\共享文件夹\%%a.txt)
Del /q tmp.vbs
goto end


:end
del /q tmp.vbs
exit

食用方法:
在桌面上新建一个TXT文本,选择复制代码进去,保存退出,然后改文件后缀为bat,右键–》以管理员身份运行。
然后在当前目录查看结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值