我试图通过用通过管道发出的命令替换它来消除用于自动化diskpart的临时脚本文件(即diskpart / s scriptFile),但是我似乎无法弄清楚如何检测diskpart何时抛出错误。如果您有驱动器 N:将 select vol n 更改为不存在的驱动器,这样 diskpart 将生成错误:
(
(
echo select disk 0
echo list partition
echo select vol n
) | diskpart
set foundErr=1
if errorlevel 0 if not errorlevel 1 set "foundErr="
if defined foundErr goto :errorMsg
echo Success!
goto :EOF
)
:errorMsg
echo diskpart failed!
goto :EOF
pause
我将上面的代码基于这个答案,但它不起作用。
这是否可能,或者使用管道块或干扰磁盘部分错误检测?