批处理脚本 - 嵌套 If 语句
有时,需要将多个"if"语句嵌入其中。 以下是该声明的一般形式。
if(condition1) if (condition2) do_something
所以只有满足条件1和条件2,才会执行do_something块中的代码。
以下是如何使用嵌套 if 语句的示例。
示例
@echo off SET /A a = 5 SET /A b = 10 if %a%==5 if %b%==10 echo "The value of the variables are correct"
输出
上述命令会产生以下输出。
"The value of the variables are correct"
If errorlevel
另一个特殊情况是"if errorlevel",它用于测试最后运行的命令的退出代码。 各种命令发出整数退出代码来表示命令的状态。 通常,如果命令成功完成,则命令传递 0;如果命令失败,则传递 1。
以下是该语句的一般语法。
if errorlevel n somecommand
其中"n"是整数退出代码之一。
Goto 语句
通常,批处理文件的执行是逐行进行的,每行上的命令依次运行。 然而,通常希望执行批处理文件的特定部分,同时跳过其他部分。 跳转到特定部分的能力是由适当命名的"goto"命令(写为一个单词)提供的。 目标部分在开头标有一行,该行的名称带有前导冒号。 因此脚本看起来像 −
... goto :label ...some commands :label ...some other commands
执行将跳过"some commands"并从"some other commands"开始。 标签可以是脚本中任何位置的一行,包括"goto"命令之前。 "Goto"命令经常出现在"if"语句中。 例如,您可能有一个类型的命令 −
if (condition) goto :label
以下是如何使用 goto 语句的示例。
示例
@echo off SET /A a = 5 if %a%==5 goto :labela if %a%==10 goto :labelb :labela echo "The value of a is 5" exit /b 0 :labelb echo "The value of a is 10"
上述程序需要注意的关键是 −
标签的代码语句应位于标签声明之后的下一行。
您可以在批处理文件中定义多个 goto 语句及其相应的标签。
标签声明可以位于文件中的任何位置。
输出
上述命令会产生以下输出。
"The value of a is 5"
❮ batch_script_decision_making.html