选项

提示用户从批处理程序中的单字符选项列表中选择一项,然后返回所选选项的索引。 如果使用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 检测到错误条件,则返回 ERRORLEVEL 值 255 如果用户按 Ctrl+Break 或 Ctrl+C,则 choice 返回 ErrorLevel 值 0

注意

在批处理程序中使用 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"

要将时间限制设置为 5 秒并将 N 指定为默认值,请在批处理文件中键入以下行:

choice /c ync /t 5 /d n

注意

在此示例中,如果用户在五秒内未按任何键,则 choice 将默认选择 N 并返回错误值 2 否则,choice 返回与用户的选择相对应的值。