Choice 命令
使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……。这个命令在有些Windows版本(比如WindowsXP)上可能不可用。
语法:
CHOICE:[/C[:]按键表] [/N] [/S] [/T[:]选择值,秒数] [显示文本]
其中,/C表示可选则的按键,/N表示不要显示提示信息,/S表示大小写字符敏感方式,/T表示若在批定的时间内没有选择的话,自动执行/C中定义的某个选择值。显示文本是CHOICE命令执行时的提示信息。选择结果将用ERRORLEVEL值来表示。
示例:
@echo offchoice /c:dme defrag,mem,endif errorlevel 3 goto defrag REM 应先判断数值最高的错误码if errorlevel 2 goto memif errorlevel 1 goto end:defragc:/dos/defraggoto end:memmemgoto end:endecho 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远程协助工具集:startclscolor 0aMODE con: COLS=60 LINES=20echo.echo ===============================echo 请选择远程工具echo ===============================echo.echo 1. AnyDeskecho.echo 2. TeamViewerecho.echo.:choset choice=set /p choice= 请输入工具编号:IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%if /i "%choice%"=="1" goto AnyDeskif /i "%choice%"=="2" goto TeamViewer:AnyDeskAnyDesk.exeexit:TeamViewerTeamViewer.exeexit |
下面来介绍一下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。
新闻热点
疑难解答