Loop

コマンドもしくはブロックを指定回数あるいはbreakなどが実行されるまで繰り返す

Loop [, Count]

Parameters

引数名説明
Count 繰り返しの回数。
省略した場合、breakreturnGotoで処理を抜けるまで無限に繰り返す。
「%Count%」のような変数参照も使用できる。
式は使用できない。

Remarks

Loopコマンドのあとには、必ずコマンドかブロックが来る。

Loop内でbreakコマンドが実行されると、繰り返しを抜けて繰り返しコマンド・ブロックの次の行に実行が移る。

Loopブロック内でContinueコマンドが実行されると、そこからブロックの終わりまでの処理がスキップされて次の回に進む。

繰り返しの回数は組み込み変数「A_Index」として参照できる。
A_Indexは、繰り返しの1回目では「1」である。
ループが2重になっているときは、内側の回数が取得できる。外側のものを参照したければ、別の変数に退避しておく必要がある。
A_Indexはループの外では「0」になる。

引数に数字以外のものが指定されたとき、特殊なループになる。
ファイルパスのワイルドカードなら、File loop、レジストリのルートキー名ならRegistry loop、「Parse」なら文字列分割ループ、「Read」ならFile-read loop

Related

File loop, Registry loop, File-read loop, Parsing loop, Break, Continue, Blocks

Example(s)

Loop, 3
{
	MsgBox, Iteration number is %A_Index%.  ; A_Index will be 1, 2, then 3
	Sleep, 100
}

Loop
{
	if a_index > 25
		break  ; Terminate the loop
	if a_index < 20
		continue ; Skip the below and start a new iteration
	MsgBox, a_index = %a_index% ; This will display only the numbers 20 through 25
}