中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-13 01:16
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS学习入门 & 精彩文章 (教学室) » [求助]请帮我解答批处理问题!!!谢谢!!!
可打印版本  912 / 5
第1楼 zhj85818 发表于 2007-11-04 07:48
初级用户 发帖 26 积分 70
[求助]请帮我解答批处理问题!!!谢谢!!!
@echo off
:loop
cls
echo main menu
echo.
echo a run msav(virus protection)
echo b run defrag(disk defragmentation)
echo c run men(memory use display)
echo q quit to dos
echo .
choice /c:abcq enter choice:
if not errorlevel 1 goto done
if errorlevel 1 if not errorlevel 2 msay
if errorlevel 2 if not errorlevel 3 defrag
if errorlevel 3 if not errorlevel 4 men /debug /puge
if errorlevel 4 goto done
pause
goto loop
:done


在此程序中我如果:
选择a那莫在
if not errorlevel 1 goto done
if errorlevel 1 if not errorlevel 2 msay
语句中都符合条件
第一句小于等于1
第二句大于等于1小于等于2
两句都符合等于1的条件


请高手帮我解答 !! 谢谢!!
第2楼 zhj85818 发表于 2007-11-04 07:48
初级用户 发帖 26 积分 70
我是新手请大家帮忙
第3楼 lxmxn 发表于 2007-11-04 10:15
版主 发帖 4,938 积分 11,386
你的问题没有描述清楚啊。。。
第4楼 hxwxyz 发表于 2007-11-04 22:33
中级用户 发帖 123 积分 245
errorlevel number
只有当由 Cmd.exe 运行的前一个程序返回大于或等于 number 的退出代码时,才能指定真条件。
所以 if not errorlevel 1 goto done 是小于1 没有等与的意思
第5楼 zhj85818 发表于 2007-11-05 08:06
初级用户 发帖 26 积分 70
谢谢大家
此问题已经解决
第6楼 fengjian 发表于 2007-11-05 16:04
新手上路 发帖 8 积分 16
解释一下各项的代表意思
@echo off
:loop
cls
echo main menu
echo.
echo a run msav(virus protection)
echo b run defrag(disk defragmentation)
echo c run men(memory use display)
echo q quit to dos
echo .
choice /c:abcq enter choice:
if not errorlevel 1 goto done
if errorlevel 1 if not errorlevel 2 msay
if errorlevel 2 if not errorlevel 3 defrag
if errorlevel 3 if not errorlevel 4 men /debug /puge
if errorlevel 4 goto done
pause
goto loop
:done
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023