帮助文档
choice命令的 选项
隐藏choice命令的 输出
choice命令的 提示信息
choice命令的 选项 区分大小写
choice命令的 返回值
控制语句
延时
多选项延时
程序 多选项延时分支
默认延时
程序 两个选项的延时控制
cmd choice命令
帮助文档
1 | C:\Users\lan>choice /? |
choice命令的 选项
/c参数用来指定choice命令的选项
例如:1
choice /c:abc
则有a,b,c三个选项,运行效果如下所示:1
2G:\Desktop\Vscode测试>choice /c:abc
[A,B,C]?
隐藏choice命令的 输出
1 | choice /c:abc /n |
虽然输出的信息隐藏了,但是还是要输入选项的,运行效果:1
2
3
4G:\Desktop\Vscode测试>choice /c:abc /n
A
G:\Desktop\Vscode测试>
choice命令的 提示信息
/m参数用来指定choice命令的提示信息,例如:1
choice /c:abc /m 输入你的选择
运行效果:1
2E:\Blog\blog\source\_posts\Windows\CMD 批处理\语法\系统相关命令>choice /c:abc /m 输入你的选择
输入你的选择 [A,B,C]?
choice命令的 选项 区分大小写
choice命令默认不区分大小写,如果加上/CS参数,则选项区分大小写,并且在输入选项的时候,用户是不可以按shift+字母来输入大写的,只能单独输入小写,例如:1
choice /c:abc /m 输入你的选择 /cs
运行效果如下:1
2
3
4E:\Blog\blog\source\_posts\Windows\CMD 批处理\语法\系统相关命令>choice /c:abc /m 输入你的选择
输入你的选择 [A,B,C]?
E:\Blog\blog\source\_posts\Windows\CMD 批处理\语法\系统相关命令>choice /c:abc /m 输入你的选择 /cs
输入你的选择 [a,b,c]?a
choice命令的 返回值
choice命令的返回值保存在变量errorlevel中,例如如下的choice命令1
choice /c:abc
- 如果选择的是a,则返回1
- 如果选择的是b,则返回2
- 如果选择的是c,则返回3
- 以此类推
控制语句
利用choice命令的返回值我们可以做一些分支程序:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23@echo off
choice /c:abc /M 输入选择
if errorlevel 3 goto c
REM 应先判断数值最高的错误码
if errorlevel 2 goto b
if errorlevel 1 goto a
:c
echo 进入程序段c
pause
goto end
:b
echo 进入程序段b
pause
goto end
:a
echo 进入程序段a
pause
:end
echo 程序结束
延时
choice命令还可以完成倒计时的功能,这个需要同时使用/c,/t,/d,三个参数,
- /c指定有哪些选项,当然/c参数可以省略,如果省略,则默认的选项是Y和N
- /t参数指定等待的时间
- /d参数指定超时的时候的默认的选项,这个选项必须在/c指定的选项中.如果省略的/c参数,则/d参数只能是Y或者N
多选项延时
1 | choice /c abc /t 2 /d a |
程序 多选项延时分支
1 | @echo off |
刚开始程序的运行效果如下:1
2G:\Desktop\Vscode测试>Delay.bat
输入选择 [A,B,C]?
现在什么都不要输入,程序将会延时五秒,然后程序会自动选择/d指定的选项,也就c选项:1
2
3
4G:\Desktop\Vscode测试>Delay.bat
输入选择 [A,B,C]?C
你选择c
请按任意键继续. . .
默认延时
上面已经说过,如果省略/c则/d后面只能指定y或者n,与上面类似1
choice /t 秒数 /d [Y,N]
例如延时5秒:1
choice /t 5 /d y
程序 两个选项的延时控制
1 | @echo off |
运行结果:1
2
3
4G:\Desktop\Vscode测试>Delay2.bat
是否进行下一步(默认:n) [Y,N]?N
你选择N
程序结束