DOS批處理獲取系統信息與U盤使用記錄並上傳數據

DOS批處理獲取系統信息(補丁安裝信息,局域網信息,U盤使用記錄)並自動上傳數據到指定共享文件夾

分享一個我結合網上各種資料寫的批處理,它能夠獲取電腦的S/N碼、硬盤S/N碼、補丁信息、網絡信息、MAC地址、U盤使用記錄(U盤型號序列號),根據需要還有上傳數據到共享文件夾的功能。

@echo off
::  關閉回顯
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碼
systeminfo >> %~dp0systemcheck.txt
::  獲取系統信息(安裝的補丁)
getmac /v >> %~dp0systemcheck.txt
arp -a >> %~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
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,右鍵–》以管理員身份運行。
然後在當前目錄查看結果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章