Diskpart将结果输出定向到第二个文本文件

时间:2018-08-14 19:36:30

标签: batch-file disk-partitioning

具有以下功能,效果很好:

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

谢谢!

1 个答案:

答案 0 :(得分:0)

diskpart需要管理员权限。如果从用户帐户运行它,它将在具有增加的特权的新窗口中打开它(您应该会看到UAC提示),因此您将无法捕获输出。

如果您以“以管理员身份”运行脚本,则特权足够,并且diskpart将在现有窗口中打开。这样,您可以通过重定向到文件或使用for /f循环捕获文件,以“照常”获得其输出。