主題 about_If 簡短描述 描述可用來根據一或多個條件式測試的結果執行陳述式清單的語言命令。 完整描述 透過使用 If 陳述式,可以在指定的條件測試評估為 true 時執行某個程式碼區塊。您也可 以在先前所有的測試評估為 false 時,另外指定一或多個額外的條件進行測試。最後,您 還可以額外指定一個程式碼區塊,於前述所有的條件測試均未評估為 true 時予以執行。 語法 下列範例示範 If 陳述式的語法: if (<測試1>) {<陳述式清單 1>} [elseif (<測試2>) {<陳述式清單 2>} [else {<陳述式清單 3>} 當您執行 If 陳述式時,Windows PowerShell 會評估 <測試1> 條件運算式為 true 或 false。如果 <測試1> 結果為 true,Windows PowerShell 便會執行 <陳述式清單 1> 然後結束 If 陳述式。 如果 <test1> 為 false,Windows PowerShell 會評估 <test2> 條件陳述式所指 定的條件。 如果 <測試2> 結果為 true,Windows PowerShell 便會執行 <陳述式清單2> 然後結 束 If 陳述式。如果 <測試1> 和 <測試2> 均評估為 false,Windows PowerShell 即執行 <陳述式清單3> 然後結束 If 陳述式。 您可以使用多個 Elseif 陳述式鏈結一連串條件測試,每項測試只有在其前項測試結果為 false 時才會執行。如果您建立的 If 陳述式內有為數眾多的 Elseif 陳述式,請考慮改用 Switch 陳述式。 範例 最簡單的 If 陳述式只包含單一命令,且不包含任何 Elseif 陳述式或 Else 陳述式。最簡單 的 If 陳述式形式如下: if ($a -gt 2) { Write-Host "$a 值大於 2。" } 在此範例中,如果 $a 變數大於 2,則條件評估為 true,陳述式清單就會執行。然而,如 果 $a 小於或等於 2 或不是現存的變數,If 陳述式就不會顯示任何訊息。加入 Else 陳述 式之後,在 $a 小於或等於 2 時會顯示訊息,如以下範例所示: if ($a -gt 2) { Write-Host "$a 值大於 2。" } else { Write-Host "$a 值小於或等於 2,或者變數尚未建立或初始化。" } 為進一步改良此範例,您可以使用 Elseif 陳述式,在 $a 的值等於 2 時顯示訊息,如以下 範例所示: if ($a -gt 2) { Write-Host "$a 值大於 2。" } elseif ($a -eq 2) { Write-Host "$a 值等於 2。" } else { Write-Host "$a 值小於 2,或者變數尚未建立或初始化。" } 請參閱 about_Comparison_Operators about_Switch