[powershell] 他スクリプトのexitコードを取得する

超まとめ

  • & とかでスクリプト内から他スクリプトを実行した結果のexitコードは、$LASTEXITCODEで参照できます
  • exit に渡した引数が入ってきます
  • 引数無しでexitすると $LASTEXITCODE=0
  • 引数ありでexitすると、引数が$LASTEXITCODEに入ってきます

注意点

exitせずにスクリプト終了すると、$LASTEXITCODEは変化しません。通常は正常系で終了する際にはexitせずにコードを書くでしょうから、他スクリプトを実行する前に$LASTEXITCODEはクリアしておいた方がよさそうです。

また、$LASTEXITCODEはグローバルスコープの自動変数なので、クリアは下記の様にするのが安全です。

$global:LASTEXITCODE = 0
& ".\実行したい外部スクリプト.ps1"

$global:LASTEXITCODE = $null とクリアすると、$nullと0の両方を正常として取り扱う必要があるので、0でクリアしておくのがよいでしょう。

コメントを残す