VBScript の For...Next ステートメントの変換

Windows PowerShell

定義: 指定された回数分、一連のステートメントを繰り返します。

For...Next

For Each ループは、コレクション内の全要素に対してそれぞれ、コード ブロックを実行するためのものです。一方、For Next ループは一般に、指定した回数、実行するためのものです。たとえば、コード ブロックを 10 回実行するには、カウンタ変数を 1 に設定して始める繰り返し処理を作成します。ループを繰り返すたびにカウンタ変数が 1 ずつ増分され、カウンタ変数が10 になった後にループが終了します。

そのコマンドは、次のようになります。

for ($a = 1; $a -le 10; $a++) {$a}

このコマンドでは、For キーワードの後ろに、次の 2 つのアイテムを続けています。繰り返し処理の条件 (かっこ内) と、ループを繰り返すたびに実行するコード (中かっこ内) です。繰り返し処理の条件には、次の 3 つの値が必要です。

  • 開始値。開始値 1 から終了値 10 までループを繰り返すので、カウンタ変数 $a を 1 に設定します。

  • 終了値。ループを 10 回繰り返すために、$a の値が 10 以下の間は繰り返し処理が継続されるように指定します。$a の値が 10 より大きくなった場合は、その時点で繰り返し処理が自動的に終了します。

  • "増分" 値。ループを繰り返すたびに $a の値を 1 ずつ増分するため、++ 演算子を使用します。ループを繰り返すたびに $a の値を 2 ずつ増分する場合 (VBScript のループの Step 2 に相当) は、構文 $a+=2 を使用し、$a の現在の値に 2 を加算します。

ループを繰り返すたびに実行するコードについては、次のように、$a の現在の値をエコーバックするだけの実に単純なものにしています。

{$a}

このコマンドを実行すると、次の結果が得られます。

1
2
3
4
5
6
7
8
9
10

「VBScript から Windows PowerShell へ」ホーム ページに戻る