2017-08-15 42 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。这可能是一个类似的问题。