我正在尝试通过管道发出的命令替换用于自动化diskpart的临时脚本文件(即diskpart /s scriptFile),但是我似乎不知道如何检测何时diskpart抛出错误。如果您有驱动器N:将选择卷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 我基于this answer编写了上面的代码,但它不起作用。
这是可能的吗,或者管道的使用会阻碍或干扰磁盘部件错误检测吗?
发布于 2018-03-14 17:29:05
我还没测试过呢。但这应该是可行的:
(
(
echo select disk 0
echo list partition
echo select vol n
) | diskpart
if "%errorlevel%"=="0" (
if not "%errorlevel%"=="1"
(
set "foundErr="
)
) Else set foundErr=1
if defined foundErr goto errorMsg
echo Success!
goto :EOF
)
:errorMsg
echo diskpart failed!
goto :EOF
pause https://stackoverflow.com/questions/38066480
复制相似问题