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

时间:2010-01-17 17:03:22

标签: powershell

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

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

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

2 个答案:

答案 0 :(得分:68)

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

答案 1 :(得分:5)

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