次の方法で共有


about_While

簡単な説明

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

詳細な説明

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

While ステートメントの構文を次に示します。

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

while ステートメントを実行すると、<statement list> セクションに入る前に、PowerShell によってステートメントの<condition> セクションが評価されます。 ステートメントの条件部分は、true または false のいずれかに解決されます。 条件が true のままである限り、PowerShell は <statement list> セクションを再実行します。 ブール値の評価方法の詳細については、「 about_Booleans」を参照してください。

ステートメントの <statement list> セクションには、ループが入力または繰り返されるたびに実行される 1 つ以上のコマンドが含まれています。 <statement list>には、breakキーワードやcontinueキーワードなど、有効な PowerShell ステートメントを含めることができます。

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

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

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

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

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

セミコロンは、 $val に 1 を追加する最初のコマンドを、 $val の値をコンソールに書き込む 2 番目のコマンドから分離していることに注意してください。

関連項目