如何在PowerShell脚本中使用DISM工具时捕获错误?
& cmd /c 'DISM /online /disable-feature /NoRestart /featurename:[feature_name] >NUL 2>&1'
if ($LASTEXITCODE -ne 0) {
Write-Host "ERROR"
} else {
Write-Host "SUCCESS"
}
[feature_name]
是否存在,我总是得到错误。
但是,如果我将cmd命令替换为另一个,例如
,它就可以工作& cmd /c 'dir [some_file] >NUL 2>&1'
如果[some_file]
存在,我会获得成功,否则会出错。
答案 0 :(得分:0)
似乎DISM返回的成功退出代码是3010而不是0。
这适用于PowerShell中的DISM命令:
if ($LASTEXITCODE -ne 3010) {
...
} else {
...
}