中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-13 21:22
楼 主 [求助]批处理问题之二? 发表于 2004-11-03 00:00 ·  中国 广西 桂林 电信
初级用户
积分 168
发帖 27
注册 2004-11-03 00:00
UID 33247
性别 男
状态 离线
@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag 应先判断数值最高的错误码
if errorlevel 2 goto mem
if errotlevel 1 goto end
:defrag
c:\dos\defrag
goto end
:mem
mem
goto end
:end
echo good bye

请问这段可以改成这样吗?
if errorlevel 3 goto defrag 应先判断数值最高的错误码
if errorlevel 2 goto mem
if errotlevel 1 goto end
把它改成:
if errorlevel 3 goto end
f errorlevel 2 goto defrag
if errotlevel 1 goto mem
这样行吗??
为什么if errorlevel 3 对应的是defrag ?而不是end 或 mem 呢??
跟choice /c:dme defrag,mem,end 这句有关系吗?
dme,代表3,2,1,是这样理解吗?
2 发表于 2004-11-03 00:00 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
UID 7105
性别 男
状态 离线
好象上面的批处理不对呀因为/C:后面的次序就是返回码的次序。比如/CME,那么D的返回码是1,M的是2,E的是3....后面的defrag,mem,end 只是文本,跟其他没有任何联系好象应改成:@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto end 应先判断数值最高的错误码
if errorlevel 2 goto mem
if errotlevel 1 goto defrag


3 发表于 2004-11-03 00:00 ·  中国 广西 桂林 电信
初级用户
积分 168
发帖 27
注册 2004-11-03 00:00
UID 33247
性别 男
状态 离线
多谢,我是在网上看到的,它是这样写的.
论坛跳转: