![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 04:31 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结]关于 If Errorlevel 是否对第三方程序有效的疑惑 |
| 可打印版本 1,614 / 7 |
| 第1楼 quya | 发表于 2008-06-02 19:11 |
| 高级用户 发帖 172 积分 558 来自 江苏 | |
|
[已结]关于 If Errorlevel 是否对第三方程序有效的疑惑 Dos 下键入 Help If
第一句的例子是 IF ERRORLEVEL number command 但我应用时却似乎一直无效, 无奈只好用 IF %ERRORLEVEL%==number command 请达人解答怎么回事, 谢谢! [ Last edited by HAT on 2008-12-8 at 10:00 ] |
|
| 第2楼 HAT | 发表于 2008-06-03 00:28 |
| 版主 发帖 5,017 积分 9,023 | |
|
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp. C:\Test>type test.bat @echo off dir C:\test1>nul if errorlevel 1 ( echo 错误的命令 ) else ( echo 正确的命令 ) dir C:\test>nul if errorlevel 1 ( echo 错误的命令 ) else ( echo 正确的命令 ) C:\Test>test.bat File Not Found 错误的命令 正确的命令 |
|
| 第3楼 quya | 发表于 2008-06-03 10:03 |
| 高级用户 发帖 172 积分 558 来自 江苏 | |
|
谢谢解答. 我以前也曾经这样用过.
可是我在执行第三方程序之后, 比如WINRAR, (WINRAR也有退出码的), 这样做就似乎不行了. 非得用 if %errorlevel%== 不可 |
|
| 第4楼 HAT | 发表于 2008-06-03 11:46 |
| 版主 发帖 5,017 积分 9,023 | |
|
能把你的完整代码贴出来看看吗?
|
|
| 第5楼 quya | 发表于 2008-06-03 14:04 |
| 高级用户 发帖 172 积分 558 来自 江苏 | |
|
已经证实, 该命令对第三方命令确实无效。
比如有个程序叫drvtypes,用于检测盘符类型,正常情况下退出码0,参数错误则退出码不为零。但以下代码执行均显示“Correct”,碰到任何第三方程序, 我觉得还是用“if %errorlevel%==0”来得保险。 你可以用任何第三方程序试验下。 |
|
| 第6楼 rs369007 | 发表于 2008-12-08 09:48 |
| 初级用户 发帖 131 积分 147 | |
|
二楼这贴看起来似乎有点不足 type test.bat&pause
rem 测试.bat在cmd当前工作目录 @echo off dir >C:\test1>nul if errorlevel 1 ( echo 错误的命令 ) else ( echo 正确的命令 ) pause dir >C:\test>nul if errorlevel 1 ( echo 错误的命令 ) else ( echo 正确的命令 ) pause test.bat pause echo File Not Found pause 这样似乎才能看到效果!个人愚见 |
|
| 第7楼 qzwqzw | 发表于 2008-12-09 08:43 |
| 银牌会员 发帖 636 积分 2,343 | |
|
嗯
quya确实没有明白if errorlevel 的基本用法 那个判断是大于等于的判断 而不是等于的判断 |
|
| 第8楼 ghoulrobot | 发表于 2008-12-09 10:14 |
| 新手上路 发帖 7 积分 10 | |
|
昨天晚上尝试choice的时候.也没有进行判断.直接一直往下走...
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |