Batch-script-classic-loop-implementationn
提供:Dev Guides
Classic for Loopの実装
以下は、ほとんどのプログラミング言語で利用できる古典的な「for」ステートメントです。
構文
for(variable declaration;expression;Increment) {
statement #1
statement #2
…
}
バッチスクリプト言語には、上記の構文に似た直接の「for」ステートメントはありませんが、ifステートメントとラベルを使用して、古典的な「for」ループステートメントの実装を実行できます。
以下は、古典的な「for」ループ文の一般的な流れです。
バッチスクリプトの古典的なforループの一般的な構文実装を見てみましょう。
Set counter
:label
If (expression) exit loop
Do_something
Increment counter
Go back to :label
- 「for」実装のコード全体がラベル内に配置されます。
- カウンター変数は、「for」ループの実装を開始する前に設定または初期化する必要があります。
- 「for」ループの式は、「if」ステートメントを使用して行われます。 式が真であると評価された場合、ループから抜け出すために出口が実行されます。
- 式の評価が偽の場合に「for」の実装を続行できるように、カウンターは「if」ステートメント内で適切にインクリメントする必要があります。
- 最後に、ラベルに戻り、「if」ステートメントを再度評価できるようにします。
以下は、古典的な「for」ループ文の実装を実行する方法の例です。
例
@echo off
SET/A i = 1
:loop
IF %i%==5 GOTO END
echo The value of i is %i%
SET/a i=%i%+1
GOTO :LOOP
:END
出力
上記のコマンドは、次の出力を生成します。
The value of i is 1
The value of i is 2
The value of i is 3
The value of i is 4