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 番目のコマンドから分離していることに注意してください。
関連項目
PowerShell