語法
choice [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]
choice
命令可以讓用戶輸入一個字符,從而運行不同的命令
參數
$ 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。"
參數說明:
-
/n
參數
如果加上/n
參數,那麼屏幕上的提示就會被屏蔽了.在實際運用中,爲了保持界面美觀,通常都加上 /n 參數。如:
choice /c 123 /n
-
>nul
choice /c 12 /n
當你選擇時,你輸入的字符會顯示在屏幕上,影響美觀!
choice /c 12 /n >nul
可以屏蔽你輸入的字符,不在屏幕上顯示 -
/t
choice /t
和/d
還有延時功能,衆所周知,用ping可以延時
ping /n 2 127.1 >nul
而choice
也可以
choice /c k /n /t 2 /d k
choice還有一個好處:當你想快速跳過時,不停按k即可 -
/m
echo
加choice
,相當於set /p a=〔message〕
一樣 -
/cs
區分大小寫,通常是不區分的
返回值判斷
如果是set /p
set /p a=
if %a%==1 ………………
if %a%==2 ………………
if %a%==3 ………………
choice的返回值是環境變量errorlevel
的值
例如:choice /c abc /n
當你選擇a時,a是第1個選項,所以errorlevel
的值爲1
當你選擇b時,b是第2個選項,所以errorlevel
的值爲2
當你選擇c時,c是第3個選項,所以errorlevel
的值爲3
那麼,語句應該這樣寫:
choice /c abc /n
if %errorlevel%==1 ………………
if %errorlevel%==2 ………………
if %errorlevel%==3 ………………
示例
choice /C YNC /M "確認請按 Y,否請按 N,或者取消請按 C。"`