中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-13 21:56
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助:call命令中的如何使用返回值
楼 主 求助:call命令中的如何使用返回值 发表于 2007-11-05 11:19 ·  中国 福建 福州 鼓楼区 电信
初级用户
积分 36
发帖 15
注册 2007-11-01 23:34
UID 101443
性别 男
状态 离线
我想作的事情是a.bat中call b.bat
如果b.bat运行失败后,能够echo 到界面山告诉使用者出错。
如果b.bat运行成功了 能够返回到成功的信息。

在论坛中看到了这样的帮助:
:: 判断所 Call 之 2.Bat 是否运行成功,只要有预设errorlevel返回值,就是运行成功!
if %errorlevel%==1000 ( echo 2.Bat 成功执行! ) else ( echo 2.Bat 运行失败! )
不明白如何预设errorlevel返回值。请论坛的高手指点一下。
2 发表于 2007-11-05 13:18 ·  中国 香港 腾讯云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
UID 99469
性别 男
状态 离线
a.bat内容
@echo off
call 2.bat
if %errorlevel%==1000 ( echo 2.Bat 成功执行! ) else ( echo 2.Bat 运行失败! )
pause


2.bat内容:
@echo off
ping -n 1 www.baidu.com>nul&&set errorlevel=1000
3 发表于 2007-11-05 16:07 ·  中国 福建 福州 鼓楼区 电信
初级用户
积分 36
发帖 15
注册 2007-11-01 23:34
UID 101443
性别 男
状态 离线
有没有不修改2.bat就能实现上面功能的办法?
4 发表于 2007-11-05 16:16 ·  中国 香港 腾讯云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
UID 99469
性别 男
状态 离线
@echo off
call 2.bat
if %errorlevel%==0 ( echo 2.Bat 成功执行! ) else ( echo 2.Bat 运行失败! )
pause


试试这样??
5 发表于 2007-11-05 17:44 ·  中国 福建 福州 鼓楼区 电信
初级用户
积分 36
发帖 15
注册 2007-11-01 23:34
UID 101443
性别 男
状态 离线
谢谢,问题如上办法可以解决
6 发表于 2007-11-05 17:50 ·  中国 湖北 武汉 江夏区 电信
初级用户
★★
积分 180
发帖 82
注册 2007-01-11 23:02
UID 76206
性别 男
状态 离线
Originally posted by abcd at 2007-11-5 04:16 PM:
@echo off
call 2.bat
if %errorlevel%==0 ( echo 2.Bat 成功执行! ) else ( echo 2.Bat 运行失败! )
pause


试试这样??

在这里面不用修改2.bat吧??具体是什么原理啊???呵呵。。?2根本没有预设值啊。。呵呵。。
好爱你哦。。。老婆
7 发表于 2007-11-05 17:57 ·  中国 香港 腾讯云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
UID 99469
性别 男
状态 离线
一般情况下,命令执行成功errorlevel变量返回值是0

失败的话就是1
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
komafd2 +1 2008-03-17 18:57
8 发表于 2007-11-05 18:22 ·  中国 湖北 武汉 江夏区 电信
初级用户
★★
积分 180
发帖 82
注册 2007-01-11 23:02
UID 76206
性别 男
状态 离线
呵呵。。。支持了。。学到东东了。。abcd很热心啊。。。。。
好爱你哦。。。老婆
论坛跳转: