共用方式為


關於 If

簡短描述

描述可用來根據一或多個條件式測試結果執行語句清單的語言命令。

詳細描述

如果指定的條件式測試評估為 true,您可以使用 If 語句來執行程式碼區塊。 如果所有先前的測試都評估為 false,您也可以指定一或多個額外的條件式測試來執行。 最後,您可以指定其他條件式測試評估為 true 時所執行的額外程式代碼區塊。

Syntax

下列範例顯示 If 語句語法:

if (<test1>)
    {<statement list 1>}
[elseif (<test2>)
    {<statement list 2>}]
[else
    {<statement list 3>}]

當您執行 If 語句時,PowerShell 會將 <test1> 條件表達式評估為 true 或 false。 如果 <test1> 為 true, <statement list 1> 則會執行 ,而 PowerShell 會 If 結束 語句。 如果 <test1> 為 false,PowerShell 會評估條件語句所 <test2> 指定的條件。

如果 <test2> 為 true, <statement list 2> 則會執行 ,而 PowerShell 會 If 結束 語句。 如果 和 <test2><test1>評估為 false,則程式<statement list 3>代碼區塊會執行,而 PowerShell 會結束 If 語句。

您可以使用多個 Elseif 語句來鏈結一系列的條件式測試。 因此,只有在所有先前的測試都是 false 時,才會執行每個測試。 如果您需要建立 If 包含許多 Elseif 語句的語句,請考慮改用 Switch 語句。

範例:

最簡單的 If 語句包含單一命令,而且不包含任何 Elseif 語句或任何 Else 語句。 下列範例顯示語句的最簡單形式 If

if ($a -gt 2) {
    Write-Host "The value $a is greater than 2."
}

在此範例中,如果$a變數大於 2,則條件會評估為 true,而且語句清單會執行。 不過,如果$a小於或等於 2 或不是現有的變數,語句 If 就不會顯示訊息。

藉由新增 Else 語句,當$a小於或等於 2 時,就會顯示訊息。 如下一個範例所示:

if ($a -gt 2) {
    Write-Host "The value $a is greater than 2."
}
else {
    Write-Host ("The value $a is less than or equal to 2," +
        " is not created or is not initialized.")
}

若要進一步精簡此範例,當 $a 的值等於 2 時,您可以使用 Elseif 語句來顯示訊息。 如下一個範例所示:

if ($a -gt 2) {
    Write-Host "The value $a is greater than 2."
}
elseif ($a -eq 2) {
    Write-Host "The value $a is equal to 2."
}
else {
    Write-Host ("The value $a is less than 2 or" +
        " was not created or initialized.")
}

另請參閱

about_Comparison_Operators

about_Switch