While 语句实现



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

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

While Statement Implementation

while 实现的第一部分是设置用于控制“if”条件评估的计数器。然后我们定义我们的标签,该标签将用于包含 while 循环实现的整个代码。“if”条件评估表达式。如果表达式计算结果为真,则执行代码块。如果条件计算结果为假,则退出循环。当执行代码块时,它将返回到标签语句以再次执行。

以下是 while 语句通用实现的语法。

语法

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

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

  • while 条件的表达式使用“if”语句完成。如果表达式计算结果为真,则执行“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”循环中的条件是,我们正在评估表达式的条件,即索引是否小于计数变量的值。只要索引的值小于 5,我们就会打印索引的值,然后递增索引的值。

输出

上述命令产生以下输出。

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.htm
广告

© . All rights reserved.