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

uri*_*rig 46 powershell

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

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

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

Jar*_*Par 72

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

  • 这就是诀窍.$ lastexitcode -eq 0成功时,1表示构建失败.:) (3认同)

小智 5

.\YOUREXE.exe
if($LASTEXITCODE -eq 0)
{
    Write-Host "The last PS command executed successfully"
} 
else 
{
    Write-Host "The last PS command failed"
}
Run Code Online (Sandbox Code Playgroud)