[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[特效代码] 也谈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 编辑 ]

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

你猜对了
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

haha

没有顶,我自己顶起来了。。哈哈

TOP

不是应该从高位开始判断吗。?
心绪平和,眼藏静谧。

TOP

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

从高位开始判断代码要简单一些,如if errorlevel 4 goto FF
但楼主用了两个if,同样能达到目的,只是代码长一点
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

从执行效率的角度考虑,应该用if...else...的形式。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表