about_While
簡単な説明
条件付きテストの結果に基づいてコマンド ブロックを実行するために使用できる言語ステートメントについて説明します。
長い説明
while
ステートメント (ループとも呼ばれますwhile
) は、条件付きテストが true と評価される限り、コマンド ブロックでコマンドを実行するループを作成するための言語コンストラクトです。 ステートメントの while
構文は複雑さが少ないため、ステートメントの構築は For ステートメントよりも簡単です。 さらに、Foreach ステートメントよりも柔軟性が高くなります。これは、ループの実行回数を制御する条件テストを while
ステートメントで指定するためです。
While ステートメントの構文を次に示します。
while (<condition>){<statement list>}
ステートメントを while
実行すると、PowerShell は、セクションを入力する <condition>
前に、ステートメントのセクションを <statement list>
評価します。 ステートメントの条件部分は true または false に解決されます。 条件が true のままである限り、PowerShell はセクションを <statement list>
再実行します。 ブール値の評価方法の詳細については、「 about_Booleans」を参照してください。
<statement list>
ステートメントの セクションには、ループが入力または繰り返されるたびに実行される 1 つ以上のコマンドが含まれています。 には<statement list>
、 キーワードや continue
キーワードなど、有効な PowerShell ステートメントをbreak
含めることができます。
たとえば、次while
のステートメントでは、変数が作成されていない場合、または変数が作成されて 0 に初期化されている場合$val
$val
、1 から 3 の数値が表示されます。
while($val -ne 3)
{
$val++
Write-Host $val
}
この例では、条件 ($val
が 3 と等しくない) は true で、 $val
0、1、および 2 に等しくなります。 ループを通るたびに、 $val
は単項インクリメント演算子を ++
使用して 1 ずつインクリメントされます。 ループ $val
が最後に 3 に設定されると、condition ステートメントは false に評価され、ループは終了します。
PowerShell コマンド プロンプトでこのコマンドを簡単に記述するには、次のように入力します。
while($val -ne 3){$val++; Write-Host $val}
セミコロンは、 の値をコンソールに $val
書き込む 2 番目のコマンドから 1 を追加する最初の $val
コマンドを区切ります。