中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » 如是大师请进:关于你的贴《批处理教学》
作者:
标题: 如是大师请进:关于你的贴《批处理教学》 上一主题 | 下一主题
柏仔
初级用户

DOS爱好者


积分 478
发帖 100
注册 2003-4-22
状态 离线
『楼 主』:  如是大师请进:关于你的贴《批处理教学》

在贴中有这么一段
====================================================
choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……

如: choice /c:dme defrag,mem,end
将显示
defrag,mem,end[D,M,E]?

例如,test.bat的内容如下:
@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag 应先判断数值最高的错误码
if errorlevel 2 goto mem
if errotlevel 1 goto end
===============================================


如果/c:后的返回码顺序是1234......
那么下面不是应该这样吗:
if errorlevel 3 goto end  应先判断数值最高的错误码
if errorlevel 2 goto mem
if errotlevel 1 goto defrag





|||||||  寻人启示:姓名:
| c●● ~年龄:20,性别:男
|  ♂▃~ 特征:帅.很帅.酷.特别酷....
| |︺英俊潇洒.风流倜傥,玉树临风→我

单钓E时代论坛
2003-5-11 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
如是大师
元老会员

步行的人


积分 9654
发帖 3351
注册 2003-3-11
来自 湖北
状态 离线
『第 2 楼』:  

choice的/c参数允许用户设定选项,dos系统按照所给出的选项顺序依次返回。必须按照返回值以递减的顺序输入IF条件命令,因为此命令设定当返回值大于指定值时,ERRORLEVEL条件为真。所以,当用户按下D键时系统赋予其返回值为1,按下m,e键时为2,3。因为递减,所以设定:if errorlevel 3 goto defrag 应先判断数值最高的错误码
      if errorlevel 2 goto mem
      if errotlevel 1 goto end



弄花香满衣,掬水月在手。
                 明月鹭鸟飞, 芦花白马走。
       我自一过后,野渡现横舟。
              青云碧空在,净瓶水不流。
http://dos.e-stone.cn/guestbook/index.asp
   ======中國DOS聯盟=====
我的新网页http://rsds.7i24.com欢迎光顾
2003-5-12 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
柏仔
初级用户

DOS爱好者


积分 478
发帖 100
注册 2003-4-22
状态 离线
『第 3 楼』:  

还是有点不明白,不过知道没错就行了
受教!




|||||||  寻人启示:姓名:
| c●● ~年龄:20,性别:男
|  ♂▃~ 特征:帅.很帅.酷.特别酷....
| |︺英俊潇洒.风流倜傥,玉树临风→我

单钓E时代论坛
2003-5-12 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
如是大师
元老会员

步行的人


积分 9654
发帖 3351
注册 2003-3-11
来自 湖北
状态 离线
『第 4 楼』:  

呵呵。。。。。先记住,慢慢再领会哟。。。。看看灌水区mys的”DOS十诫“。。



弄花香满衣,掬水月在手。
                 明月鹭鸟飞, 芦花白马走。
       我自一过后,野渡现横舟。
              青云碧空在,净瓶水不流。
http://dos.e-stone.cn/guestbook/index.asp
   ======中國DOS聯盟=====
我的新网页http://rsds.7i24.com欢迎光顾
2003-5-12 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 5 楼』:  

Re 如是大师:

    “柏仔”提出的问题是正确的:按照choice的内容"choice /c:dme defrag,mem,end",errorlevel >= 3时,应该goto end,而非goto defrag,errorlevel >= 1亦然。






※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2003-10-15 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: