中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-06 12:52
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » 关于choice 命令 查看 3,953 回复 17
16 发表于 2004-06-25 00:00 ·  中国 湖南 长沙 电信
初级用户
积分 138
发帖 6
注册 2003-08-01 00:00
22年会员
UID 7894
性别 男
状态 离线
CHOICE:选择命令。这是一个DOS外部命令,但它主要用在批文件中。
CHOICE命令执行后将提示可选择的项目,这时通过一个按键来选则。
用法:CHOICE:按键表] 选择值,秒数]
其中,/C表示可选则的按键,/N表示不要显示提示信息,/S表示大小写字符敏感方式,/T表示若在批定的时间内没有选则的话,自动执行/C中定义的某个选择值。显示文本是CHOICE命令执行时的提示信息。选择结果将用ERRORLEVEL值来表示。

IF ERRORLEVEL 错误返回代号 命令
意义:如果错误返回代号大于或等于指定的代号将执行某个命令。
其中,ERRORLEVEL表示错误返回代号,很有用。对于很多DOS命令,由于执行的结果不同(如执行成功,执行失败,或被用户中断等),这些命令会返回不同的代号,以表示不同的结果。IF ERRORLEVEL命令就根据这个不同结果而产生的不同代号来执行不同的命令,通常用在某条命令之后。如IF ERRORLEVEL 1 ECHO OK!表示如果当前的错误返回代号大于或等于1时将在屏幕上显示“OK!”的字样
****DOS****DOS****
17 发表于 2009-04-04 00:41 ·  中国 辽宁 鞍山 联通
初级用户
积分 43
发帖 24
注册 2009-04-03 07:29
17年会员
UID 142006
性别 男
状态 离线
给你一段代码,你自己试试吧! choice /c:yn /t:n,5 yes, no,
18 发表于 2009-09-17 03:31 ·  马来西亚
初级用户
积分 70
发帖 33
注册 2009-09-15 13:28
16年会员
UID 152067
性别 男
状态 离线
但是windows XP 没有这个功能了!


choice 只在:MS-DOS 6.0+,Windows 95,Windows 98,Windows Vista,Windows 7而已!!!




windows XP 是用set,
给你一段代码,你自己试试吧! !!!!
自己了解吧!!!

@ECHO off
cls
:start
ECHO.
ECHO 1. Print Hello
ECHO 2. Print Bye
ECHO 3. Print Test
set choice=
set /p choice=Type the number to print text.
if not '%choice%'=='' set choice=%choice:~0,1%
if '%choice%'=='1' goto hello
if '%choice%'=='2' goto bye
if '%choice%'=='3' goto test
ECHO "%choice%" is not valid please try again
ECHO.
goto start
:hello
ECHO HELLO
goto end
:bye
ECHO BYE
goto end
:test
ECHO TEST
goto end
:end
论坛跳转: