1. 控制结构: goto 命令
(1) 批处理文件运行到这来将跳到goto所指定的标号处
标号即label,标号用:后跟标准字符串来定义)
(2)goto语句一般与if配合使用,根据不同的条件来执行不同的命令组
(3)示例:
goto end
:end
echo this is the end
注1:标号用 “:字符串” 来定义,标号所在行不被执行。
注2:在有多个标号时,每个标号都要有goto语句跳出,否则各个标号程序会连续执行
注3:标号前是ASCII字符的冒号 “:”,冒号与标号之间不能有空格。
注4:标号的命名规则与文件名的命名规则相同
注5:DOS 支持最长八位字符的标号,当无法区别两个标号时,将跳转至最近的一个标号。
2. 控制结构:choice 命令
(1)使用此命令可以让用户输入一个字符(用于选择),从而根据用户的选择返回不同的errorlevel,然后if errorlevel 配合,根据用户的选择运行不同的命令。
(2)choice 命令为DOS或者windows系统提供的外部命令,不同版本的choice命令语法会稍有不同,请用choice /?查看用法
(3)注意:ERRORLEVEL环境变量被设置为从选择集选择的键索引。列出的第一个选择返回 1,第二个选择返回 2,等等。如果用户按的键不是有效的选择,该工具会发出警告响声。如果该工具检测到错误状态,它会返回255的ERRORLEVEL值。如果用户按Ctrl + Break 或Ctrl+C键,该工具会返回0的ERRORLEVEL值。
示例:
@echo off
CHOICE /?
CHOICE /C YNC /M "确认请按Y,否请按N,或者取消请按C。"
CHOICE /T 10 /C ync /CS /D y
CHOICE /C ab /M "选项1 请选择a, 选项2 请选择b."
CHOICE /C ab /N /M "选项1请选择a,选项2 请选择b"