次の方法で共有


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 コマンドを区切ります。

こちらもご覧ください