Invoke an exe from PowerShell and get feedback on success or failure
How can I run an executable in PowerShell and through an if statement determine whether it succeeded or failed?
More specifically I'm trying to get devenv.exe to build a solution from a PowerShell script and I need to know whether it succeeded or failed. By failed, I mean that the build has failed and I'm assuming devenv is sending something out to the shell (possibly in the stderr
stream?)
I tried using &
, Invoke-Expression
and Invoke-Item
and managed to get all of them to run the exe. But I was never able to get feedback on success / failures.
Have you tried using the $LASTEXITCODE
variable? It will contain the exit code of the last .exe that was invoked.
- https://devblogs.microsoft.com/powershell/errorlevel-equivalent/
.\YOUREXE.exe
if($LASTEXITCODE -eq 0)
{
Write-Host "The last PS command executed successfully"
}
else
{
Write-Host "The last PS command failed"
}