【WINDOWS / DOS 批处理】choice命令详解

【命令格式】
CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text] [/?]
【命令功能】
该命令允许用户从选项列表中选择一个选项字符并返回该选项字符的索引 。
【/C choices参数】
choices指定要创建的选项列表 。默认列表是 "YN" 。
示例

【WINDOWS / DOS 批处理】choice命令详解

文章插图
解析
  • 命令一:“/c abc”创建的选项列表是“abc”
  • 命令二: 。默认列表是 "YN" 。
     
有效选项字符的范围: a-z、A-Z、0-9 和 ASCII 值是128 到 254 的字符 。
ASCII 值是128 到 254 的字符怎么输入? 详见 在dos命令行下,怎么通过ASCII码的输入字符
示例
【WINDOWS / DOS 批处理】choice命令详解

文章插图
选项字符的索引
choice命令执行完成后,ERRORLEVEL 环境变量被设置为从选项列表选择的选项字符的索引(选项字符的索引从1 开始计算) 。选择第一个选项字符返回 1,选择第二个选项字符返回 2,等等 。如果用户按的键不是有效的选项,该命令则会发出警告响声 。如果choice命令检测到错误状态,它返回的ERRORLEVEL值为225 。如果用户按 Ctrl+Break 或 Ctrl+C 键,choice命令返回的ERRORLEVEL值为0 。
示例
【WINDOWS / DOS 批处理】choice命令详解

文章插图
【/M参数】
指定提示之前要显示的描述文字 。如果没有指定,则只显示提示 。
示例
【WINDOWS / DOS 批处理】choice命令详解

文章插图
解析
  • /m "please input"参数的作用:在包括“abc”选项列表的提示前面,添加了要显示的描述文字“please input”
【/N参数】
隐藏在提示中的选项列表,但是选项列表依旧处于启用状态 。【注意】提示前面的描述文字不会被隐藏
示例
【WINDOWS / DOS 批处理】choice命令详解

文章插图
解析
  • /n参数的作用:在提示中的选项列表(“abc”)被隐藏了,但是该选项列表依旧处于启用状态 。提示前面的描述文字("please input")不会被隐藏 。
 
【 /CS 参数】
指定选项字符区分大小写 。在默认情况下,选项字符不区分大小写
示例
【WINDOWS / DOS 批处理】choice命令详解

文章插图
解析
  • /CS参数的作用:使选项列表(“abc”)中的选项字符区分大小写
 
【 /T timeout 参数和 /D choice 参数】
/D choice参数:在 timeout秒之后,choice指定将要被选择的默认选项字符 。选项字符必须在用 /C choices 选项指定的选项列表(即:choices)中; 同时,必须用 /T timeout参数指定 timeout 。
/T timeout参数:做出默认选择之前,暂停的秒数 。可接受的值是从 0 到 9999 。如果指定了 0,就不会有暂停,默认选项字符会自动被选择 。
注意:/T timeout参数和/D choice参数必须一起使用,缺一不可
示例
【【WINDOWS / DOS 批处理】choice命令详解】
【WINDOWS / DOS 批处理】choice命令详解

文章插图
解析
  • 如果想使用默认选项字符(A),则不需要输入任何选项字符,5秒后,choice命令自动输入“A”,并执行完毕,然后自动回到“C:>”状态下
  • 如果想自己选择选项字符,需在5秒内输入选项字符
     
【 /?参数】
显示choice命令的帮助消息 。
在DOS命令行下,实现“人机交互”的命令并不多,choice命令就是其中一条 。
【应用小示例】
在C:out目录下编写一个名为test.bat的批处理脚本,如下:
【WINDOWS / DOS 批处理】choice命令详解

文章插图
运行
【WINDOWS / DOS 批处理】choice命令详解

文章插图
写作不易,如果您觉得对您有用,请您“支持一下” 。




    推荐阅读