批处理脚本 - While 语句实现

批处理脚本中没有直接的 while 语句,但我们可以通过使用 if 语句和标签非常轻松地实现此循环。

下图显示了此循环的图解说明。

While 语句实现

while 实现的第一部分是设置计数器,用于控制"if"条件的评估。 然后,我们定义标签,该标签将用于体现 while 循环实现的整个代码。 'if'条件计算一个表达式。 如果表达式的计算结果为 true,则执行代码块。 如果条件计算结果为 false,则退出循环。 当代码块执行完毕后,会返回到标签语句再次执行。

以下是 while 语句的一般实现语法。

语法

Set counters
:label
If (expression) (
   Do_something
   Increment counter
   Go back to :label
)
  • while 实现的整个代码都放在标签内。

  • 计数器变量必须在 while 循环实现开始之前设置或初始化。

  • while 条件的表达式是使用"if"语句完成的。 如果表达式的计算结果为 true,则执行"if"循环内的相关代码。

  • 计数器需要在"if"语句内正确递增,以便 while 实现可以在某个时间点终止。

  • 最后,我们将返回标签,以便再次评估"if"语句。

以下是 while 循环语句的示例。

示例

@echo off
SET /A "index = 1"
SET /A "count = 5"
:while
if %index% leq %count% (
   echo The value of index is %index%
   SET /A "index = index + 1"
   goto :while
)

在上面的示例中,我们首先将索引整数变量的值初始化为 1。那么"if"循环中的条件是,我们正在评估表达式的条件,即索引是否小于计数变量的值。直到index的值小于5,我们将打印index的值,然后递增index的值。

输出

上述命令会产生以下输出。

The value of index is 1
The value of index is 2
The value of index is 3
The value of index is 4
The value of index is 5

❮ batch_script_return_code.html