全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

dos命令行choice命令使用详解

Choice 命令

使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……。这个命令在有些Windows版本(比如WindowsXP)上可能不可用。

语法:
CHOICE:[/C[:]按键表] [/N] [/S] [/T[:]选择值,秒数] [显示文本]
其中,/C表示可选则的按键,/N表示不要显示提示信息,/S表示大小写字符敏感方式,/T表示若在批定的时间内没有选择的话,自动执行/C中定义的某个选择值。显示文本是CHOICE命令执行时的提示信息。选择结果将用ERRORLEVEL值来表示。

示例:

@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag
 REM 应先判断数值最高的错误码
if errorlevel 2 goto mem
if errorlevel 1 goto end

:defrag
c:\dos\defrag
goto end

:mem
mem
goto end

:end
echo good bye

此文件运行后,将显示 defrag,mem,end[D,M,E]? 用户可选择d m e ,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,文件结束。

可替换的命令

对WindowsXP上不能使用CHOICE命令的情形,如果想使用相似的功能,可以使用 SET 命令,参见Set 命令 /P选项。

choice一般在cmd批处理中用来根据用户输入执行不同的操作,非常实用,例如

下面是两个软件根据用户选择来执行

@echo off
远程协助工具集
:start
cls
color 0a
MODE con: COLS=60 LINES=20
echo.
echo  ===============================
echo   请选择远程工具
echo  ===============================
echo.
echo  1. AnyDesk
echo.
echo  2. TeamViewer
echo.
echo.
:cho
set choice=
set /p choice=  请输入工具编号:
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
if /i "%choice%"=="1" goto AnyDesk
if /i "%choice%"=="2" goto TeamViewer

:AnyDesk
AnyDesk.exe
exit

:TeamViewer
TeamViewer.exe
exit

下面来介绍一下choice的命令使用


CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]

描述:
该工具允许用户从选择列表选择一个项目并返回所选项目的索引。

参数列表:
/C choices 指定要创建的选项列表。默认列表是 "YN"。

/N 在提示符中隐藏选项列表。提示前面的消息得到显示,选项依旧处于启用状态。

/CS 允许选择分大小写的选项。在默认情况下,这个工具是不分大小写的。

/T timeout 做出默认选择之前,暂停的秒数。可接受的值是从 0到 9999。如果指定了 0,就不会有暂停,默认选项会得到选择。

/D choice 在 nnnn 秒之后指定默认选项。字符必须在用 /C 选项指定的一组选择中; 同时,必须用 /T 指定 nnnn。

/M text 指定提示之前要显示的消息。如果没有指定,工具只显示提示。

/? 显示此帮助消息。

注意:
ERRORLEVEL 环境变量被设置为从选择集选择的键索引。列出的第一个选择返回 1,第二个选择返回 2,等等。如果用户按的键不是有效的选择,该工具会发出警告响声。如果该工具检测到错误状态,它会返回 255 的ERRORLEVEL 值。如果用户按 Ctrl+Break 或 Ctrl+C 键,该工具会返回 0 的 ERRORLEVEL 值。在一个批程序中使用 ERRORLEVEL 参数时,将参数降序排列。

示例:
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。"

下面是来自国外网站的介绍

The CHOICE command was introduced in MS-DOS 6 and is still available in MS-DOS 7 (Windows 95/98).

In Windows NT 4, 2000 and XP, CHOICE is no longer a part of the standard distribution. It is, however, available as part of the Windows NT 4 Resouce Kit.
On the other hand, if you still have that old unused MS-DOS 6 or Windows 95/98 version lying around, you can use the CHOICE.COM from that version instead. (*)
Just copy it to a directory that is in your PATH.

Note: 16-bit DOS versions will not work in 64-bit Windows versions.
CHOICE is available again in Windows Vista and later versions.

大部分意思就是 这个命令会在以后的系统中一直存在,但注意16位的系统无法在64位系统自带了,而我们安装的64位系统已经集成了64的choice命令,大家可以放心使用。

注释
ERRORVALUE 环境变量被设置为用户从选择列表中选择的键的索引。您指派的第一个键将返回值 1,第二个将返回值 2,第三个将返回值 3,依此类推。如果用户按下一个不在您指派的键中间的键,Choice.exe 将发出警告声(即,它向控制台发送一个 BEL 或 07h 字符)。如果 Choice.exe 检测到错误情况,它就会返回错误值 255。如果用户按 Ctrl+Break 或 Ctrl+C,Choice.exe 就会返回错误值 0。当您在批处理程序中使用错误值参数时,请将它们以降序列出。

示例
请在批处理文件中键入下列语法:
choice /c ync
运行 Choice.exe 时出现下列语句:
[Y,N,C]?
请在批处理文件中键入下列语法:
choice /c ync /n /m Yes, No or Continue?
运行 Choice.exe 时出现下列语句:
Yes, No, or Continue?
按如下方式将文字添加到语法中:
choice /c ync /m Yes, No, or Continue
运行 Choice.exe 时出现下列语句:
Yes, No, or Continue [Y,N,C]?
/t 命令行选项将设置一个时间限制(在该限制内用户必须响应),并指定当用户在该时间限制内没有作出响应时将显示的值。要将时间限制设置为五秒并指定 N 作为默认值,请在批处理程序中键入下列命令行:
choice /c ync /t 5 /d n
当批处理文件启动 Choice.exe 时,将出现下列消息:
[Y,N,C]?
如果用户未能在五秒钟内按下一个键,Choice.exe 将选择 N 并返回错误值 2。否则,Choice 将返回与用户所选对应的值。


# choice  # 批处理入门手册之批处理常用DOS命令篇(attrib、del、copy、xcopy)  # 批处理入门手册之批处理常用DOS命令篇(echo、rem、cd、dir)  # dos下通过wmic命令查看硬盘和内存/CPU信息(windows自带命令查看硬件信息)  # dos里执行tracert命令只有一跳的原因及解决方法  # cmd命令行大全 dos命令 cmd命令整理  # dos(cmd)中删除、添加、修改注册表命令  # dos命令 cd命令使用说明[图文说明]  # C/C++中一次性执行多个DOS命令的实现思路  # 请选择  # 请在  # 批处理  # 设置为  # 请按  # 就会  # 第一个  # 返回值  # 提示信息  # 第二个  # 批处理文件  # 按下  # 命令行  # 检测到  # 降序  # 依此类推  # 会在  # 是从  # 能在  # 时间内 


相关文章: 合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  建站VPS配置与SEO优化指南:关键词排名提升策略  如何在Golang中指定模块版本_使用go.mod控制版本号  建站主机选购指南:核心配置与性价比推荐解析  大同网页,大同瑞慈医院官网?  北京制作网站的公司,北京铁路集团官方网站?  如何选择高性价比服务器搭建个人网站?  贸易公司网站制作流程,出口贸易网站设计怎么做?  建站之星图片链接生成指南:自助建站与智能设计教程  建站之星备案流程有哪些注意事项?  高端建站三要素:定制模板、企业官网与响应式设计优化  表情包在线制作网站免费,表情包怎么弄?  网站企业制作流程,用什么语言做企业网站比较好?  制作网页的网站有哪些,电脑上怎么做网页?  视频网站制作教程,怎么样制作优酷网的小视频?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  模具网站制作流程,如何找模具客户?  义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  如何快速生成高效建站系统源代码?  如何在万网ECS上快速搭建专属网站?  网站制作企业,网站的banner和导航栏是指什么?  如何高效配置IIS服务器搭建网站?  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  一键网站制作软件,义乌购一件代发流程?  建站之星如何快速解决建站难题?  宁波免费建站如何选择可靠模板与平台?  如何安全更换建站之星模板并保留数据?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  如何选择最佳自助建站系统?快速指南解析优劣  ui设计制作网站有哪些,手机UI设计网址吗?  如何打造高效商业网站?建站目的决定转化率  深圳网站制作平台,深圳市做网站好的公司有哪些?  如何通过商城免费建站系统源码自定义网站主题?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在阿里云虚拟主机上快速搭建个人网站?  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  如何在橙子建站中快速调整背景颜色?  详解jQuery停止动画——stop()方法的使用  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  西安大型网站制作公司,西安招聘网站最好的是哪个?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  如何用美橙互联一键搭建多站合一网站?  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  建站之星免费版是否永久可用?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。