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




目次