![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-02 03:37 |
共 48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,250 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 批处理脚本中的返回值问题 |
| 可打印版本 1,120 / 5 |
| 第1楼 vk | 发表于 2006-10-12 08:06 |
| 中级用户 发帖 86 积分 218 | |
|
批处理脚本中的返回值问题 @echo off
call c:\1.bat if errorlevel 1 goto no if errorlevel 0 goto ok :no goto exit :ok del c:\1.bat goto exit :exit exit 当我运行此程序并已经成功调用了c:\1.bat 照理它应该会删除c:\1.bat 但它没有删除 为什么 哪里出了问题? [ Last edited by namejm on 2006-10-13 at 06:36 ] |
|
| 第2楼 3742668 | 发表于 2006-10-12 10:47 |
| 荣誉版主 发帖 718 积分 2,013 | |
|
着重检查你的1.bat。
另外,值得注意的是: call 1.bat 的返回值并非为call的返回值,call为内部命令,一般来说它是不会改变errorlevel变量的值的,而你的脚本中两个if语句实际上是判断的1.bat中最后一个命令的错误返回值。例如: 1.bat main.bat 通过上面的演示相信有让你得到正确的答案。 至于你的脚本,建议使用类似如下格式: 以上脚本均未经测试。 |
|
| 第3楼 pengfei | 发表于 2006-10-12 10:52 |
| 银牌会员 发帖 485 积分 1,218 来自 湖南.娄底 | |
|
3472668版主分析得很正确.
@echo off call c:\1.bat if errorlevel 1 goto no if errorlevel 0 goto ok 这里先call c:\1.bat, 而必须等1.bat执行完毕再接着执行下面的命令, 所以if判断返回值为1.bat的最后一条命令的执行情况. |
|
| 第4楼 vk | 发表于 2006-10-13 05:46 |
| 中级用户 发帖 86 积分 218 | |
|
谢了 基本懂了
|
|
| 第5楼 vkill | 发表于 2006-10-13 08:05 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
一般我只用 && || ,只判断是否执行成功
|
|
| 第6楼 weilong888 | 发表于 2006-10-13 09:35 |
| 银牌会员 发帖 548 积分 1,270 | |
|
感觉还是&&与||好用。
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |