Share via


choice

提示使用者從批次程式中的單一字元選擇清單中選取一個項目,然後傳回所選選擇的索引。 如果沒有搭配參數使用,choice 會顯示預設選擇 YN

語法

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 所指定的預設選擇之前要暫停的秒數。 可接受的值為 09999。 如果 /t 設定為 0choice 傳回預設選擇之前不會暫停。
/d <choice> 指定在等候 /t 所指定秒數之後使用的預設選擇。 預設選擇必須位於 /c 所指定的選擇清單中。
/m <text> 指定要在選擇清單之前顯示的訊息。 如果未指定 /m,則只會顯示選擇提示。
/? 在命令提示字元顯示說明。

備註

  • ERRORLEVEL 環境變數會設定為使用者從選擇清單中選取的索引鍵索引。 清單中的第一個選擇會傳回 1 的值,2 的第二個值,依此類推。 如果使用者按下的按鍵不是有效選擇,choice 會發出警告嗶聲。

  • 如果 choice 偵測到錯誤條件,則會傳回 255ERRORLEVEL 值。 如果使用者按下 CTRL+BREAK 或 CTRL+C,choice 會傳回 0ERRORLEVEL 值。

注意

當您在批次程式中使用 ERRORLEVEL 值時,您必須以遞減順序列出它們。

範例

若要呈現選擇 YNC,請在批次檔中輸入下列這一行:

choice /c ync

當批次檔執行 choice 命令時,會出現下列提示:

[Y,N,C]?

若要隱藏選擇 YNC,但顯示「是」、「否」或「繼續」文字,請在批次檔中輸入下列行:

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 會傳回對應至使用者選擇的值。