Board logo

标题: [求助]请帮我解答批处理问题!!!谢谢!!! [打印本页]

作者: zhj85818     时间: 2007-11-4 07:48    标题: [求助]请帮我解答批处理问题!!!谢谢!!!

@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的条件


请高手帮我解答 !!  谢谢!!
作者: zhj85818     时间: 2007-11-4 07:48
我是新手请大家帮忙
作者: lxmxn     时间: 2007-11-4 10:15
你的问题没有描述清楚啊。。。
作者: hxwxyz     时间: 2007-11-4 22:33
errorlevel number
只有当由 Cmd.exe 运行的前一个程序返回大于或等于 number 的退出代码时,才能指定真条件。
所以  if not errorlevel 1 goto done  是小于1 没有等与的意思
作者: zhj85818     时间: 2007-11-5 08:06
谢谢大家
此问题已经解决
作者: fengjian     时间: 2007-11-5 16:04    标题: 解释一下各项的代表意思

@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