Prompts the user to select one item from a list of single-character choices in a batch program, and then returns the index of the selected choice. If used without parameters, choice displays the default choices Y and N.
choice [/c [<choice1><choice2><…>]] [/n] [/cs] [/t <timeout> /d <choice>] [/m <text>]
||Specifies the list of choices to be created. Valid choices include a-z, A-Z, 0-9, and extended ASCII characters (128-254). The default list is YN, which is displayed as
|/n||Hides the list of choices, although the choices are still enabled and the message text (if specified by /m) is still displayed.|
|/cs||Specifies that the choices are case-sensitive. By default, the choices are not case-sensitive.|
||Specifies the number of seconds to pause before using the default choice specified by /d. Acceptable values are from 0 to 9999. If /t is set to 0, choice does not pause before returning the default choice.|
||Specifies the default choice to use after waiting the number of seconds specified by /t. The default choice must be in the list of choices specified by /c.|
||Specifies a message to display before the list of choices. If /m is not specified, only the choice prompt is displayed.|
|/?||Displays help at the command prompt.|
- The ERRORLEVEL environment variable is set to the index of the key that the user selects from the list of choices. The first choice in the list returns a value of
1, the second a value of
2, and so on. If the user presses a key that is not a valid choice, choice sounds a warning beep.
- If choice detects an error condition, it returns an ERRORLEVEL value of
255. If the user presses CTRL+BREAK or CTRL+C, choice returns an ERRORLEVEL value of
When you use ERRORLEVEL values in a batch program, you must list them in decreasing order.
To present the choices Y, N, and C, type the following line in a batch file:
choice /c ync
The following prompt appears when the batch file runs the choice command:
To hide the choices Y, N, and C, but display the text Yes, No, or Continue, type the following line in a batch file:
choice /c ync /n /m "Yes, No, or Continue?"
If you use the /n parameter, but do not use /m, the user is not prompted when choice is waiting for input.
To show both the text and the options used in the previous examples, type the following line in a batch file:
choice /c ync /m "Yes, No, or Continue"
To set a time limit of five seconds and specify N as the default value, type the following line in a batch file:
choice /c ync /t 5 /d n
In this example, if the user doesn’t press a key within five seconds, choice selects N by default and returns an error value of
2. Otherwise, choice returns the value corresponding to the user’s choice.