トピック about_If 簡易説明 1 つ以上の条件テストの結果に基づいてステートメント リストを実行するための言語コマンドについ て説明します。 詳細説明 If ステートメントは、指定した条件テストが True として評価された場合にコード ブロックを実行す るために使用できます。また、それまでのすべてのテストが False として評価された場合に実行する追加の 条件テストを 1 つ以上指定できます。さらに、それまでに True として評価された条件テストがなか った場合に実行する追加のコード ブロックを指定することもできます。 構文 次の例は、If ステートメントの構文を示しています。 if (<test1>) {<statement list 1>} [elseif (<test2>) {<statement list 2>}] [else {<statement list 3>}] If ステートメントを実行すると、<test1> 条件式が True または False として評価されます。 <test1> が True の場合は、<statement list 1> が実行され、If ステートメントが終了します。 <test1> が False の場合、<test2> 条件ステートメントで指定された条件が評価されます。 <test2> が True の場合は、<statement list 2> が実行され、If ステートメントが終了しま す。<test1> と <test2> の両方が False として評価された場合は、<statement list 3> コード ブロックが実行され、If ステートメントが終了します。 複数の Elseif ステートメントを使用して、それまでのすべてのテストが False の場合にだけ実行するように一 連の条件テストを連鎖させることができます。複数の Elseif ステートメントを含む If ステートメントを作成す る必要がある場合は、Switch ステートメントの使用を検討してください。 例 最も単純な If ステートメントには、コマンドが 1 つだけ含まれ、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." } この例をさらに改良するために、次のように、Elseif ステートメントを使用して、$a の値が 2 と等 しい場合にもメッセージを表示できます。 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