(PowerShell)Exit Code/Exit Status

PowerShell取得Exit Code/Exit Status的兩個常用系統變數:

  • $?
  • $LastExitCode

$?

包含最後一個命令的執行狀態。

如果最後一個命令成功,則會包含 True,如果失敗,則為 False
Write-ErrorCmdlet 會在執行後將設定$?false,但在呼叫它的函式中,不會將設定$?false

1
2
3
4
5
6
7
8
function Test-WriteError
{
Write-Error "Bad"
$? # $false
}

Test-WriteError
$? # $true

$LastExitCode

上次執行之原生程式的結束代碼。

若為原生命令 (可執行檔) ,當$LastExitCode是0時,$?會設定為 True,當$LastExitCode為任何其他值,則設定為 False