![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-13 01:06 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS学习入门 & 精彩文章 (教学室) » 如是大师请进:关于你的贴《批处理教学》 |
| 可打印版本 1,421 / 4 |
| 第1楼 柏仔 | 发表于 2003-05-11 00:00 |
| 初级用户 发帖 100 积分 478 | |
|
如是大师请进:关于你的贴《批处理教学》 在贴中有这么一段
==================================================== choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234…… 如: choice /c:dme defrag,mem,end 将显示 defrag,mem,end? 例如,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 |
|
| 第2楼 如是大师 | 发表于 2003-05-12 00:00 |
| 元老会员 发帖 3,351 积分 9,654 来自 湖北 | |
|
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 |
|
| 第3楼 柏仔 | 发表于 2003-05-12 00:00 |
| 初级用户 发帖 100 积分 478 | |
|
还是有点不明白,不过知道没错就行了
受教! |
|
| 第4楼 如是大师 | 发表于 2003-05-12 00:00 |
| 元老会员 发帖 3,351 积分 9,654 来自 湖北 | |
|
呵呵。。。。。先记住,慢慢再领会哟。。。。看看灌水区mys的”DOS十诫“。。
|
|
| 第5楼 willsort | 发表于 2003-10-15 00:00 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re 如是大师:
“柏仔”提出的问题是正确的:按照choice的内容"choice /c:dme defrag,mem,end",errorlevel >= 3时,应该goto end,而非goto defrag,errorlevel >= 1亦然。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |