![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-08 22:12 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [讨论]关于FOR 语句错误退出码的问题 |
| 可打印版本 587 / 2 |
| 第1楼 quya | 发表于 2008-06-03 19:12 |
| 高级用户 发帖 172 积分 558 来自 江苏 | |
|
[讨论]关于FOR 语句错误退出码的问题 五星老土这几天心血来潮, 突然感到DOS的有趣。
老土本事不大,探索精神却不减当年。 这不,又发现一个有趣现象。 For 语句出错之后如何处理? 我尝试在FOR 语句之后设置退出码, 但无论FOR语句是否有错,退出码总是 1。 无奈之下,又一个怪念头,用CALL FOR 语句来获取退出码,居然收到奇效,不敢藏秘, 与大家共探讨。 上述代码 “error” 换成"dir"" 之类则说明 FOR 语句运行成功。 另外, 请注意 IF ERRORLEVEL 0 语句再次无用, 大家不妨一试, 所以提醒大家尽量不要用该语句。 该语句的有关讨论见我另一贴 http://www.cn-dos.net/forum/viewthread.php?tid=40969&fpage=1 |
|
| 第2楼 bat-zw | 发表于 2008-06-03 21:21 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
if errorlevel 0 不是没用,是因为errorlevel要从高值判断起:if errorlevel 2 goto ?
if errorlevel 1 goto ? if errorlevel 0 goto ?,而在一般的表达式中应该用下面的表达 方法: if errrorlevel 1 (goto ?) else (goto ?) |
|
| 第3楼 quya | 发表于 2008-06-03 21:34 |
| 高级用户 发帖 172 积分 558 来自 江苏 | |
|
楼上的, 经你这么一说,好像是这么一回事,可惜我年纪大了,记性每况愈下,这个if errorlevel 不用也罢。
FOR语句我掌握得不好,写得没错误那是我瞎猫碰死耗子,出错是常有的事,所以我在程序中要容错,错了大不了少了一段代码(只要基本功能没少),我就转到其他地方去执行, 所以才有了这么个判断FOR语句是否运行准确的问题。 我看你FOR语句用得挺溜的,我今后有些基本问题还望不吝赐教,这里先行谢过。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |