Board logo

标题: [特效代码] 也谈choice命令 [打印本页]

作者: lixiaodaoaaa    时间: 2008-9-16 09:09     标题: 也谈choice命令

                                     也谈choice命令
verybat里看到这篇文章,就拿来一问一下,实在有不少地方甚为疑惑。
─────────────────────────────────────────────
他说是这样的,该代码运行时,如果输入的是 1或者2,或者3,或者4时,自动退出,如果输入的是其他字符,例如26个英文字符的时候 ,电脑竟然发声,而不退出。感觉好奇怪。大家实验下,看效果。多运行几次,输入英文和数字(1234)效果就出来了。^_^

★----◆----★----◆----★----◆----★----◆----★----◆----★---- ◆----★----◆----★
注释:
choice这个工具,某些系统下并没有这个文件,需要下载。如果你测试失败,可能没有这个文件。

-------------------------------------------------------------------------------------------------------------------------------------------------
  1. @echo off
  2. CHOICE /C 1234 /N /M 请输入1234或者英语字符对比效果:
  3. IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 GOTO  AA
  4. IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 GOTO BB
  5. IF ERRORLEVEL 3 IF NOT ERRORLEVEL 4 GOTO  CC
  6. IF ERRORLEVEL 4 IF NOT ERRORLEVEL 5 goto FF
复制代码


〓〓〓〓〓 ***    〓〓〓〓〓  *** 〓〓〓 *** 〓〓〓〓   *** 〓〓〓〓 *** 〓〓〓〓

本人菜菜一个,简单把choice命令讲下,希望各位大侠看看对不对,如果不对,就跟贴说明。^_^
choice  /C       指定要创建的选项列表。默认列表是 "YN"。后面跟了 choice /c 1234 意思是把列表改为1234。


choice    /N      在提示符中隐藏选项列表。提示前面的消息得到显示,选项依旧处于启用状态。本人理解是隐藏了要选择的[1,2,3,4]选项


choice  /M       /M    text          指定提示之前要显示的消息。如果没有指定,工具只显示提示

      
---------------------------------------------------------------------------------------------------------------------------------------------------
后面是if errorleverl返回码,如果是1,则跳转到某某处。呵呵,个人感觉奇怪的是,为什么输入别的字符电脑会发声,是不是choice命令本身的性质罢了,不做深究。希望大家跟贴说明。^_^  
                        

                     





[ 本帖最后由 lixiaodaoaaa 于 2008-9-16 10:39 编辑 ]
作者: zqz0012005    时间: 2008-9-16 09:22

为什么输入别的字符电脑会发声,是不是choice命令本身的性质罢了,不做深究

你猜对了
作者: lixiaodaoaaa    时间: 2008-9-16 14:23     标题: haha

没有顶,我自己顶起来了。。哈哈
作者: pusofalse    时间: 2008-9-16 18:40

不是应该从高位开始判断吗。?
作者: zqz0012005    时间: 2008-9-16 19:21

if errorlevel number 相当于 if %errorlevel% geq number

从高位开始判断代码要简单一些,如if errorlevel 4 goto FF
但楼主用了两个if,同样能达到目的,只是代码长一点
作者: Batcher    时间: 2008-9-16 21:38

从执行效率的角度考虑,应该用if...else...的形式。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2