【命令格式】
CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text] [/?]
【命令功能】
該命令允許用戶從選項列表中選擇一個選項字符并返回該選項字符的索引。
【/C choices參數】
choices指定要創建的選項列表。默認列表是 "YN"。
示例
解析
-
命令一:“/c abc”創建的選項列表是“abc”
-
命令二:。默認列表是 "YN"。
有效選項字符的范圍: a-z、A-Z、0-9 和 ASCII 值是128 到 254 的字符。
ASCII 值是128 到 254 的字符怎么輸入? 詳見 在dos命令行下,怎么通過ASCII碼的輸入字符
示例
選項字符的索引
choice命令執行完成后,ERRORLEVEL 環境變量被設置為從選項列表選擇的選項字符的索引(選項字符的索引從1 開始計算)。選擇第一個選項字符返回 1,選擇第二個選項字符返回 2,等等。如果用戶按的鍵不是有效的選項,該命令則會發出警告響聲。如果choice命令檢測到錯誤狀態,它返回的ERRORLEVEL值為225。如果用戶按 Ctrl+Break 或 Ctrl+C 鍵,choice命令返回的ERRORLEVEL值為0。
示例
【/M參數】
指定提示之前要顯示的描述文字。如果沒有指定,則只顯示提示。
示例
解析
-
/m "please input"參數的作用:在包括“abc”選項列表的提示前面,添加了要顯示的描述文字“please input”
【/N參數】
隱藏在提示中的選項列表,但是選項列表依舊處于啟用狀態。【注意】提示前面的描述文字不會被隱藏
示例
解析
-
/n參數的作用:在提示中的選項列表(“abc”)被隱藏了,但是該選項列表依舊處于啟用狀態。提示前面的描述文字("please input")不會被隱藏。
【 /CS 參數】
指定選項字符區分大小寫。在默認情況下,選項字符不區分大小寫
示例
解析
-
/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參數必須一起使用,缺一不可
示例
解析
-
如果想使用默認選項字符(A),則不需要輸入任何選項字符,5秒后,choice命令自動輸入“A”,并執行完畢,然后自動回到“C:>”狀態下
-
如果想自己選擇選項字符,需在5秒內輸入選項字符
【 /?參數】
顯示choice命令的幫助消息。
在DOS命令行下,實現“人機交互”的命令并不多,choice命令就是其中一條。
【應用小示例】
在C:out目錄下編寫一個名為test.bat的批處理腳本,如下:
運行
寫作不易,如果您覺得對您有用,請您“支持一下”。