@echo off
whoami > "%~dp0%computername%_%username%.txt"
WMIC /APPEND:"%~dp0%computername%_%username%.txt" BIOS Get Manufacturer,Name /Format:table
WMIC /APPEND:"%~dp0%computername%_%username%.txt" Baseboard Get Product,Manufacturer /Format:table
WMIC /APPEND:"%~dp0%computername%_%username%.txt" CPU Get Name,NumberOfCores,NumberOfLogicalProcessors /Format:table
WMIC /APPEND:"%~dp0%computername%_%username%.txt" Memorychip Get Manufacturer,Capacity,Speed,PartNumber /Format:table
WMIC /APPEND:"%~dp0%computername%_%username%.txt" Diskdrive Get Model,Size /Format:table
WMIC /APPEND:"%~dp0%computername%_%username%.txt" Path Win32_VideoController get Caption,VideoModeDescription /Format:table
WMIC /APPEND:"%~dp0%computername%_%username%.txt" OS get Caption,OSArchitecture,Version /Format:table
WMIC /APPEND:"%~dp0%computername%_%username%.txt" netuse get Name /Format:table
pause
一切正常,除了带有操作系统的字符串:只能看到"标题OS架构版本",但在CMD中我可以看到脚本显示
Caption OSArchitecture Version
Microsoft Windows 10 Pro 64-bit 10.0.17134
如何使脚本不擦除此字符串?
有时 WMIC 的 Unicode 输出对于自己来说有点太聪明了。通过FIND
运行它,会将其转换为本地代码页。
@echo off
SET "OUTFILE=%~dp0%computername%_%username%.txt"
IF EXIST "%OUTFILE%" (DEL "%OUTFILE%")
(
whoami
WMIC BIOS Get Manufacturer,Name /Format:table
WMIC Baseboard Get Product,Manufacturer /Format:table
WMIC CPU Get Name,NumberOfCores,NumberOfLogicalProcessors /Format:table
WMIC Memorychip Get Manufacturer,Capacity,Speed,PartNumber /Format:table
WMIC Diskdrive Get Model,Size /Format:table
WMIC Path Win32_VideoController get Caption,VideoModeDescription /Format:table
WMIC OS get Caption,OSArchitecture,Version /Format:table
WMIC netuse get Name /Format:table
) | FIND /V "" >>"%OUTFILE%"