提示用户从批处理程序中的单字符选项列表中选择一项,然后返回所选选项的索引。 如果不带参数使用,则 选择 显示默认选项 Y 和 N。
Syntax
choice [/c [<choice1><choice2><…>]] [/n] [/cs] [/t <timeout> /d <choice>] [/m <text>]
Parameters
| Parameter | Description |
|---|---|
/c <choice1><choice2><…> |
指定要创建的选项列表。 有效选项包括 a-z、A-Z、0-9 和扩展 ASCII 字符(128-254)。 默认列表为 YN,显示为 [Y,N]?。 |
| /n | 隐藏选项列表,尽管这些选项仍处于启用状态,并且消息文本(如果由 /m 指定)仍会显示。 |
| /cs | 指定选项区分大小写。 默认情况下,这些选项不区分大小写。 |
/吨 <timeout> |
指定在使用 /d 指定的默认选项之前暂停的秒数。 可接受的值是 0 到 9999。 如果 /t 设置为 0,则 choice 在返回默认选择之前不会暂停。 |
/d <choice> |
指定在等待 /t 指定的秒数后要使用的默认选项。 默认选择必须位于 /c 指定的选择列表中。 |
/米 <text> |
指定要在选项列表之前显示的消息。 如果未指定 /m ,则仅显示选择提示。 |
| /? | 在命令提示符下显示帮助。 |
Remarks
ERRORLEVEL 环境变量设置为用户从选项列表中选择的键的索引。 列表中的第一个选项返回一个值
1,第二个值为2,依此等。 如果用户按下的键不是有效的选择,则 选择 会发出警告蜂鸣声。如果 choice 检测到错误条件,则返回 的 ERRORLEVEL 值
255。 如果用户按 CTRL+BREAK 或 CTRL+C,则 choice 将返回 的 ERRORLEVEL 值0。
Note
在批处理程序中使用 ERRORLEVEL 值时,必须按降序列出它们。
Examples
要显示选项 Y、 N 和 C,请在批处理文件中键入以下行:
choice /c ync
当批处理文件运行 choice 命令时,将显示以下提示:
[Y,N,C]?
要隐藏选项 Y、 N 和 C,但显示文本 “是”、“ 否”或 “继续”,请在批处理文件中键入以下行:
choice /c ync /n /m "Yes, No, or Continue?"
Note
如果使用 /n 参数,但不使用 /m,则 在选择 等待输入时不会提示用户。
若要显示前面示例中使用的文本和选项,请在批处理文件中键入以下行:
choice /c ync /m "Yes, No, or Continue"
要将时间限制设置为 5 秒并将 N 指定为默认值,请在批处理文件中键入以下行:
choice /c ync /t 5 /d n
Note
在此示例中,如果用户在五秒内未按下某个键,则 choice 默认选择 N 并返回错误值 2。 否则, choice 返回与用户选择对应的值。