具有以下功能,效果很好:
echo BASEBOARD>>%computername%.txt
wmic /APPEND:"%computername%.txt" baseboard get Manufacturer, Model, Name, PartNumber, slotlayout, serialnumber, poweredon
echo BIOS>>%computername%.txt
wmic /APPEND:"%computername%.txt" bios get name, version, serialnumber, InstallDate, ReleaseDate
rem https://stackoverflow.com/a/46874644/175063
(
echo select disk 0
echo detail disk
) > dp.txt
diskpart /s %CD%dp.txt
我遇到麻烦的地方是:
rem https://stackoverflow.com/a/46874644/175063
(
echo select disk 0
echo detail disk
) > dp.txt
diskpart /s %CD%dp.txt
但是,我想将结果放入辅助文件中,它不起作用:
rem https://stackoverflow.com/a/46874644/175063
(
echo select disk 0
echo detail disk
) > dp.txt
diskpart /s %CD%dp.txt >>%CD%%computername%.txt
换句话说,diskpart的结果永远不会进入>>%CD%%computername%.txt
,我也尝试过:
2>>%CD%%computername%.txt
我确实看到diskpart打开了它自己的DOS窗口,因此对于将输出写入到哪里需要它感到困惑。
还尝试过:
START /WAIT CMD /c diskpart /s %CD%dp.txt >>%CD%%computername%.txt
谢谢!
答案 0 :(得分:0)
diskpart
需要管理员权限。如果从用户帐户运行它,它将在具有增加的特权的新窗口中打开它(您应该会看到UAC提示),因此您将无法捕获输出。
如果您以“以管理员身份”运行脚本,则特权足够,并且diskpart
将在现有窗口中打开。这样,您可以通过重定向到文件或使用for /f
循环捕获文件,以“照常”获得其输出。