コマンドもしくはブロックを指定回数あるいはbreakなどが実行されるまで繰り返す
Loop [, Count]
引数名 | 説明 |
---|---|
Count |
繰り返しの回数。 省略した場合、breakかreturnかGotoで処理を抜けるまで無限に繰り返す。 「%Count%」のような変数参照も使用できる。 式は使用できない。 |
Loopコマンドのあとには、必ずコマンドかブロックが来る。
Loop内でbreakコマンドが実行されると、繰り返しを抜けて繰り返しコマンド・ブロックの次の行に実行が移る。
Loopブロック内でContinueコマンドが実行されると、そこからブロックの終わりまでの処理がスキップされて次の回に進む。
繰り返しの回数は組み込み変数「A_Index」として参照できる。
A_Indexは、繰り返しの1回目では「1」である。
ループが2重になっているときは、内側の回数が取得できる。外側のものを参照したければ、別の変数に退避しておく必要がある。
A_Indexはループの外では「0」になる。
引数に数字以外のものが指定されたとき、特殊なループになる。
ファイルパスのワイルドカードなら、File loop、レジストリのルートキー名ならRegistry loop、「Parse」なら文字列分割ループ、「Read」ならFile-read loop。
File loop, Registry loop, File-read loop, Parsing loop, Break, Continue, Blocks
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 }