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.
For examples of how to use this command, see Examples.
Syntax
choice [/c [<Choice1><Choice2><…>]] [/n] [/cs] [/t <Timeout> /d <Choice>] [/m <"Text">]
Parameters
Parameter | Description |
---|---|
/c <Choice1><Choice2><…> |
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. |
/t <Timeout> |
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. |
/d <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. |
/m <"Text"> |
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. |
Remarks
- 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 0.
Note | |
When you use ERRORLEVEL values in a batch program, list them in decreasing order. |
Examples
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:
[Y,N,C]?
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?"
The following prompt appears when the batch file runs the choice command:
Yes, No, or Continue?
Note | |
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"
The following prompt appears when the batch file runs the choice command:
Yes, No, or Continue [Y,N,C]?
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
The following prompt appears when the batch file runs the choice command:
[Y,N,C]?
Note | |
In this example, if the user does not 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. |