windows - 将Powershell错误处理到批处理文件中

标签 windows powershell batch-file error-handling

我有类似于以下内容的powershell代码:

If ($a -eq $false)
{
    "FALSE"
    exit 5
}
Else
{
    If ($b -eq $false)
    {
        "FALSE"
        exit 5
    }
}

我已使用powershell -Command "& { }"命令将此代码导入到批处理文件中,并且我希望其余的批处理代码仅在powershell命令未返回错误($ a或$ b为false)的情况下才继续。

到目前为止,我尝试了很多类似的操作,但是它们立即关闭了我的批处理文件:
@echo off
`some batch code here`
powershell -Command "& { }"
echo %errorlevel%
if '%errorlevel%' NEQ '5'
{
    `code here`
}
echo ERROR
pause
exit

对我而言,最好的方法是,例如,可以退出代码为“5”的powershell的“if”块,然后分批放置if语句以检查错误是否为5。echo %errorlevel%在其中打印“5”情况下,但似乎if语句不起作用。

最佳答案

@echo off
`some batch code here`
powershell -Command "& { if $a -eq $false -or $b -eq $false { 'FALSE'; exit 5} }"
echo %errorlevel%
if '%errorlevel%' NEQ '5' (
    `code here`
)
echo ERROR
pause
exit

关于windows - 将Powershell错误处理到批处理文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39674280/

相关文章:

python - Tesseract OCR、Python 和 Windows XP

powershell - 如何使用Powershell以相同的对齐方式生成后续数字?

windows - 如何查找计算机在某一天的首次开机时间和最后一次关机时间?

PowerShell:带有 PID 的 AppActivate 不起作用

batch-file - 自动打开浏览器并登录网站?

windows - 如何索引 malloc 的缓冲区和输出

windows - Windows 中的 $(shell [foo])

windows - 使用 Windows 未定义的环境变量?

windows - 验证内存中的进程完整性?

windows - 是否可以通过 cmd/batch 文件将文件从目录复制到所有其他目录中的子目录中?