choice
提示使用者從批次程式中的單一字元選擇清單中選取一個項目,然後傳回所選選擇的索引。 如果沒有搭配參數使用,choice 會顯示預設選擇 Y 和 N。
語法
choice [/c [<choice1><choice2><…>]] [/n] [/cs] [/t <timeout> /d <choice>] [/m <text>]
參數
參數 | 描述 |
---|---|
/c <choice1><choice2><…> |
指定要建立的選擇清單。 有效選擇包括 a-z、A-Z、0-9 和擴充 ASCII 字元 (128-254)。 預設清單為 YN,這會顯示為 [Y,N]? 。 |
/n | 隱藏選擇清單,不過仍然會啟用選擇,而且仍會顯示訊息本文 (如果由 /m 指定)。 |
/cs | 指定選擇有區分大小寫。 根據預設,選擇不分大小寫。 |
/t <timeout> |
指定使用 /d 所指定的預設選擇之前要暫停的秒數。 可接受的值為 0 到 9999。 如果 /t 設定為 0,choice 傳回預設選擇之前不會暫停。 |
/d <choice> |
指定在等候 /t 所指定秒數之後使用的預設選擇。 預設選擇必須位於 /c 所指定的選擇清單中。 |
/m <text> |
指定要在選擇清單之前顯示的訊息。 如果未指定 /m,則只會顯示選擇提示。 |
/? | 在命令提示字元顯示說明。 |
備註
ERRORLEVEL 環境變數會設定為使用者從選擇清單中選取的索引鍵索引。 清單中的第一個選擇會傳回
1
的值,2
的第二個值,依此類推。 如果使用者按下的按鍵不是有效選擇,choice 會發出警告嗶聲。如果 choice 偵測到錯誤條件,則會傳回
255
的 ERRORLEVEL 值。 如果使用者按下 CTRL+BREAK 或 CTRL+C,choice 會傳回0
的 ERRORLEVEL 值。
注意
當您在批次程式中使用 ERRORLEVEL 值時,您必須以遞減順序列出它們。
範例
若要呈現選擇 Y、N 和 C,請在批次檔中輸入下列這一行:
choice /c ync
當批次檔執行 choice 命令時,會出現下列提示:
[Y,N,C]?
若要隱藏選擇 Y、N 和 C,但顯示「是」、「否」或「繼續」文字,請在批次檔中輸入下列行:
choice /c ync /n /m "Yes, No, or Continue?"
注意
如果您使用 /n 參數,但不使用 /m,則當 choice 等候輸入時不會提示使用者。
若要同時顯示上述範例中使用的文字和選項,請在批次檔中輸入下列這一行:
choice /c ync /m "Yes, No, or Continue"
若要設定五秒的時間限制,並將 N 指定為預設值,請在批次檔中輸入下列這一行:
choice /c ync /t 5 /d n
注意
在本範例中,如果使用者未在五秒內按下按鍵,則 choice 預設會選取 N,並傳回 2
的錯誤值。 否則,choice 會傳回對應至使用者選擇的值。