次の方法で共有


about_If

簡単な説明

1 つ以上の条件付きテストの結果に基づいてステートメント リストを実行するために使用できる言語コマンドについて説明します。

詳細な説明

指定した条件付きテストが if true に評価された場合は、ステートメントを使用してコード ブロックを実行できます。 以前のすべてのテストが false と評価された場合に実行する 1 つ以上の追加の条件付きテストを指定することもできます。 最後に、他の条件付きテストが true と評価されない場合に実行される追加のコード ブロックを指定できます。

構文

次の例は、ステートメントの構文を if 示しています。

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

ステートメントを if 実行すると、PowerShell は条件式を <test1> true または false として評価します。 true の場合 <test1> は実行 <statement list 1> され、PowerShell はステートメントを if 終了します。 false の場合 <test1> 、PowerShell は条件ステートメントで指定された条件を <test2> 評価します。

ブール評価の詳細については、「about_Booleans」を参照してください

true の場合 <test2> は実行 <statement list 2> され、PowerShell はステートメントを if 終了します。 両方が <test1><test2> false と評価された場合、コード ブロックが <statement list 3> 実行され、PowerShell によってステートメントが if 終了します。

複数 elseif のステートメントを使用して、一連の条件付きテストを連結できます。 各テストは、前のすべてのテストが false の場合にのみ実行されます。 多数elseifのステートメントを含むステートメントをif作成する必要がある場合は、代わりに Switch ステートメントを使用することを検討してください。

例 :

最も単純なifステートメントには 1 つのコマンドが含まれており、ステートメントやelseステートメントは含elseifまれません。 次の例は、ステートメントの最も単純な形式を if 示しています。

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

この例では、変数が $a より 2大きい場合、条件は true に評価され、ステートメント リストが実行されます。 ただし、既存の変数以下の場合、2または既存の変数でない場合$aifステートメントはメッセージを表示しません。

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 使用して、値 $a2. 次の例に示すように、次のようになります。

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.")
}

関連項目