トピック
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