2017-08-15 71 views
2

我想從PowerShell調用VisualBuild構建並獲取它的最後退出代碼。

我使用調用Build。

Start-Process -FilePath $VisualBuild -ArgumentList "/b Somescript.bld" -PassThru -NoNewWindow 

我已經嘗試過使用try catch機制,但是這導致我的LastExitCode爲0,即使構建失敗。

當使用像

$BuildProcess = Start-Process -FilePath $VisualBuild -ArgumentList "/b Somescript.bld" -PassThru -NoNewWindow 
Write-Host "$($BuildProcess.ExitCode)" 

東西我的劇本得到的堅持執行並顯示該生成失敗,但從未顯示LastExitCode後輸出。

的$ VisualBuild變量保存完整路徑VisBuildCmd.exe

+2

[獲取ExitCode使用啓動進程和WaitForExit,而不是-Wait]可能的重複(https://stackoverflow.com/questions/10262231/obtaining-exitcode-using-start-process-and-waitforexit-instead-of -等待) – Tomalak

回答

1

我想你只需要你的命令後,立即您最後一次退出代碼,並將其存儲在一個變量:

Start-Process -FilePath $VisualBuild -ArgumentList "/b Somescript.bld" -PassThru -NoNewWindow 
$MyLastExitCode = $LastExitCode 

Write-Host "LastExitCode: $MyLastExitCode" 

在我顯示我的最後一個退出代碼之前,我曾經遇到以前遇到過的一些問題,它始終是0。這可能是一個類似的問題。