HOWTO · Batch

在批处理脚本中使用 IF ELSE 和 GOTO

本教程将展示我们如何在批处理脚本中组合 IF ELSE 和 GOTO 命令。

本页内容

在本文中,我们将结合 IF ELSEGOTO 命令来了解我们如何使这些命令一起工作,并提供一个示例和解释以便更好地理解。

在批处理脚本中使用 IF ELSEGOTO 语句

IF ... ELSE 是一个条件命令。此外,GOTO 是一个关键字,你可以通过它跳过执行代码的特定部分。

IF ... ELSE 的一般格式是 IF [CONDITION] [COMMANDS] ELSE [COMMANDS]GOTO 的一般格式是 GOTO LABELLABEL 是你要开始的特定点。

在我们的示例中,我们将对两个值求和并检查它们是否小于 20。如果小于 20,我们将显示结果值小于 20 的消息。

否则,我们将显示消息大于 20 的消息。

批处理脚本:

@echo off
SET /A x = 10
SET /A y = 25
SET /A z = %x% + %y%
ECHO The Sum of a and b is %z%
IF %z% LSS 20 ( GOTO :lessThan )
echo The result is greater than 20
GOTO :end

:lessThan
echo The result is less than 20

:end

SET /A x = 10 行中,我们创建了一个算术变量 x 并赋予它 10 的值。在下一行,SET /A y = 5,我们声明了另一个变量 y 并赋予它 5 的值。

SET /A z = %x% + %y% 这一行声明了另一个变量 z,它保存了 xy 之和的结果值。下一行 ECHO Sum of a and b is %z% 显示了 xy 之和的输出。

IF %z% LSS 20 ( GOTO :lessThan ) 这行检查结果值是否小于 20。如果小于 20,它将跳过下一行并从标记 lessThan 开始,我们显示消息结果小于 20

否则,它将打印一条消息结果大于 20,并通过 GOTO :end 行,代码将跳转到标签:end

输出:

The Sum of a and b is 35
The result is greater than 20

本文中讨论的方法是使用批处理脚本编写的,并且仅适用于 windows CMD 环境。