重复执行一或多条语句: 可以指定表示重复次数的数字或直到遇到 Break.
Loop Count
类型: 整数
执行循环的次数(迭代). 如果省略, 则 Loop 无限地继续直到遇到 Break 或 Return. 但是, 显式的空值或小于 1 的数字将导致完全跳过循环.
Count 只在循环开始之前计算一次. 例如, 如果 Count 有附加作用的表达式(如, 函数调用或赋值), 附加作用仅发生一次.
如果 Count 用括号括起来, 则不需要空格或制表符. 例如: Loop(2)
循环语句后通常跟着区块, 这是构成循环 主体 语句的集合. 但是, 在单语句的循环中可以不使用区块(用于此目的时 "if" 与其相匹配的 "else" 一起被视为单语句).
这个语句的一个常见用法是无限循环, 然后在循环 主体 中的某个地方使用 Break 语句来确定何时停止循环.
在循环中鼓励使用 Break 和 Continue 代替 Goto, 因为它们通常可以让脚本更容易理解和维护. 也可以通过将循环 主体 的第一个或最后一个语句作为有条件地发出 Break 语句的 IF 语句来创建 "While" 或 "Do...While/Until" 语句, 但使用 While 或 Loop...Until 通常是首选的.
内置变量 A_Index 包含当前循环迭代的次数. 首次执行循环 主体 时其值为 1. 第二次时其值为 2; 依此类推. 如果一个内层循环包含在一个外层循环中, 那么内层循环具有优先权. A_Index 在所有类型的循环中都有效, 包括 file-loops 和 registry-loops; 但是在循环外部时 A_Index 值为 0.
A_Index 可以由脚本赋值为任何整数值. 如果指定 Count, 则更改 A_Index 会影响将要执行的迭代次数. 例如, A_Index := 3
会使循环语句的行为好像是第三次迭代(A_Index 将在下一次迭代为 4), 而 A_Index--
将防止当前迭代计入总数中.
循环后面可以有一个可选的 Else 语句, 如果 Count 为零, 则执行 Else 语句.
可以选择使用 One True Brace(OTB) 样式. 例如:
Loop { ... } Loop RepeatCount { ... }
专用循环: 循环可以用来自动检索文件, 文件夹或注册表项(每次一个). 有关详情, 请参阅 file-loop 和 registry-loop. 此外, file-reading loops 可以对整个文件的内容进行操作, 每次一行. 最后, parsing loops 可以对可分隔的字符串中包含的各个字段进行操作.
Until, While-loop, For-loop, Files-and-folders loop, Registry loop, File-reading loop, Parsing loop, Break, Continue, 区块, Else