about_While

適用対象: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

トピック

about_While

概要

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

詳細説明

While ステートメント (While ループとも呼ばれます) は、条件テストが true に評価される限りコマンド ブロック内のコマンドを実行するループを作成するための言語コンストラクトです。While ステートメントは、構文が簡単なため、For ステートメントよりも構築しやすくなっています。また、While ステートメントは、ステートメント内で条件テストを指定してループの実行回数を制御できるため、Foreach ステートメントよりも柔軟性に優れています。

While ステートメントの構文は次のとおりです。

        while (<condition>){<statement list>}

While ステートメントを実行すると、Windows PowerShell® はステートメントの <condition> セクションを評価してから、<statement list> セクションに移ります。ステートメントの条件部分は、true または false のいずれかに解決されます。条件が true である限り、Windows PowerShell は <statement list> セクションを再実行します。

ステートメントの <statement list> セクションには、ループに入るたびに、またはループが繰り返されるたびに実行される 1 つ以上のコマンドが含まれます。

たとえば、次の While ステートメントは、$val 変数が作成されていない場合、または $val 変数が作成されて 0 に初期化されている場合には、1 から 3 の数字を表示します。

        while($val -ne 3)
        {
            $val++
            Write-Host $val
        }

この例では、$val = 0、1、または 2 である間は、条件 ($val が 3 と等しくない) が true になります。ループを通過するたびに、$val は ++ 単項インクリメント演算子 ($val++) を使用して 1 ずつ増やされます。最後のループの通過で、$val = 3 になります。$val が 3 に等しくなると、条件ステートメントが false に評価され、ループが終了します。

このコマンドを Windows PowerShell コマンド プロンプトで簡単に記述するには、次のように入力できます。

        while($val -ne 3){$val++; Write-Host $val} 

$val に 1 を追加する最初のコマンドと、$Val の値をコンソールに出力する 2 番目のコマンドを、セミコロンで区切っていることに注意してください。

関連項目

about_Comparison_Operators

about_Do

about_Foreach

about_For

about_Language_Keywords