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。
新聞熱點
疑難解答