2

定義するpowershellスクリプトがありますが、成功時に非標準の終了コード(0ではなく1)を返すプロセスをターゲットと$ErrorActionPreference = "Stop"
する呼び出しもあります。start-processこの結果、開始プロセスが正常であってもスクリプトが失敗します。-ErrorAction "Continue"呼び出しにパラメーターを追加しようとしましたstart-processが、問題は解決しませんでした。

問題のある行は次のようになります。

$ErrorActionPreference = "Stop"
...
start-process "binary.exe" -Wait -ErrorAction "Continue"
if ($LastExitCode -ne 1)
{
   echo "The executable failed to execute properly."
   exit -1
}
...

start-process がスクリプト全体を失敗させないようにするにはどうすればよいですか。

4

1 に答える 1

3

Start-Process更新しません$LASTEXITCODE。パラメータを指定して実行Start-Processして-PassThruプロセス オブジェクトを取得し、そのオブジェクトのExitCodeプロパティを評価します。

$ErrorActionPreference = "Stop"
...
$p = Start-Process "binary.exe" -Wait -PassThru
if ($p.ExitCode -ne 1) {
  echo "The executable failed to execute properly."
  exit -1
}
于 2015-06-12T17:03:09.520 に答える