从PowerShell调用exe并获得有关成功或失败的反馈

问题描述 投票:44回答:2

如何在PowerShell中运行可执行文件并通过if语句确定它是成功还是失败?

更具体地说,我正在尝试让devenv.exe从PowerShell脚本构建解决方案,我需要知道它是成功还是失败。失败了,我的意思是构建失败了,我假设devenv正在向shell发送一些东西(可能在stderr流中?)

我尝试使用&Invoke-ExpressionInvoke-Item并设法让所有这些运行exe。但我无法获得有关成功/失败的反馈。

powershell
2个回答
67
投票

你尝试过使用$LASTEXITCODE变量吗?它将包含被调用的最后一个.exe的退出代码。


5
投票
.\YOUREXE.exe
if($LASTEXITCODE -eq 0)
{
    Write-Host "The last PS command executed successfully"
} 
else 
{
    Write-Host "The last PS command failed"
}
© www.soinside.com 2019 - 2024. All rights reserved.