标题: 关于choice 命令
[打印本页]
作者: hotdog
时间: 2003-8-16 00:00
标题: 关于choice 命令
choice 命令的返回码为1234……是按什么顺序排的
如choice /c:dme defrag,mem,end
哪个返回码为1
哪个返回码为2
哪个返回码为3
交换次序返回码会变吗
如choice /c:dem defragend,mem
哪为大哥帮忙回答一下
作者: hotdog
时间: 2003-8-16 00:00
怎么没人帮我啊
作者: Roy
时间: 2003-8-16 00:00
以下是引用hotdog在2003-8-16 3:12:22的发言:
choice 命令的返回码为1234……是按什么顺序排的
如choice /c:dme defrag,mem,end
哪个返回码为1
哪个返回码为2
哪个返回码为3
交换次序返回码会变吗
如choice /c:dem defrag,end,mem
哪为大哥帮忙回答一下
choice /c:dem defrag,end,mem
^----回码为1
^---回码为2
^--回码为3
作者: hotdog
时间: 2003-8-16 00:00
那请问以下为什么要这样写
可以解释一下吗
@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag
if errorlevel 2 goto mem
if errotlevel 1 goto end
作者: hzy
时间: 2003-8-16 00:00
写成这样比较明燎罢了!
你可以写成这样:
choice /c:dme d,m,e
也可以写成这样:
choice /c:dme
结果是一样的!
作者: hzy
时间: 2003-8-16 00:00
只不过屏幕的提示不同而已!
作者: Roy
时间: 2003-8-16 00:00
以下是引用hotdog在2003-8-16 16:46:38的发言:
那请问以下为什么要这样写
可以解释一下吗
@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag
if errorlevel 2 goto mem
if errotlevel 1 goto end
你搞錯了吧.....
是這樣才對吧:
@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto end
if errorlevel 2 goto mem
if errotlevel 1 goto defrag
作者: hzy
时间: 2003-8-16 00:00
以下是引用Roy在2003-8-16 17:02:12的发言:以下是引用hotdog在2003-8-16 16:46:38的发言:
那请问以下为什么要这样写
可以解释一下吗
@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag
if errorlevel 2 goto mem
if errotlevel 1 goto end
你搞錯了吧.....
是這樣才對吧:
@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto end
if errorlevel 2 goto mem
if errotlevel 1 goto defrag
呵呵!我也没在意[em09];
[此贴子已经被作者于2003-8-16 17:11:34编辑过]
作者: xiaojun
时间: 2003-8-16 00:00
请问下: 这里的 if errorlevel 3 goto end ; 是指命令的什么地方执行错误就end呢?
作者: zl7322
时间: 2003-8-16 00:00
如果选择3就执行end
作者: hotdog
时间: 2003-8-16 00:00
我明白了
谢谢
作者: xiaojun
时间: 2003-8-16 00:00
以下是引用zl7322在2003-8-16 22:42:11的发言:
如果选择3就执行end
这个3在哪儿选择? 批处理它不是依次执行的吗?
作者: hotdog
时间: 2003-8-17 00:00
e
作者: 死性不改
时间: 2004-6-24 00:00
正在找这个!
作者: v70wl
时间: 2004-6-24 00:00
choice命令是什么意思
作者: 槛之外
时间: 2004-6-25 00:00
CHOICE:选择命令。这是一个DOS外部命令,但它主要用在批文件中。
CHOICE命令执行后将提示可选择的项目,这时通过一个按键来选则。
用法:CHOICE:[/C[:]按键表] [/N] [/S] [/T[:]选择值,秒数] [显示文本]
其中,/C表示可选则的按键,/N表示不要显示提示信息,/S表示大小写字符敏感方式,/T表示若在批定的时间内没有选则的话,自动执行/C中定义的某个选择值。显示文本是CHOICE命令执行时的提示信息。选择结果将用ERRORLEVEL值来表示。
IF [NOT] ERRORLEVEL 错误返回代号 命令 [命令参数]
意义:如果错误返回代号[不]大于或等于指定的代号将执行某个命令。
其中,ERRORLEVEL表示错误返回代号,很有用。对于很多DOS命令,由于执行的结果不同(如执行成功,执行失败,或被用户中断等),这些命令会返回不同的代号,以表示不同的结果。IF ERRORLEVEL命令就根据这个不同结果而产生的不同代号来执行不同的命令,通常用在某条命令之后。如IF ERRORLEVEL 1 ECHO OK!表示如果当前的错误返回代号大于或等于1时将在屏幕上显示“OK!”的字样
作者: tasmzz
时间: 2009-4-4 00:41
给你一段代码,你自己试试吧! choice /c:yn /t:n,5 yes, no,
作者: SinLow
时间: 2009-9-17 03:31
但是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