中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 18:03
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » (结了)if判断errorlevel的问题
可打印版本  1,228 / 13
第1楼 lcleft 发表于 2009-04-09 12:37
社区乞丐 发帖 32 积分 -31
(结了)if判断errorlevel的问题
@echo off
net
IF %ERRORLEVEL% == 1 echo net user 执行失败了!


奇怪,执行成功后仍然显示执行失败
也许IF不能作出判断,或者有其他办法
************
************
邮箱在这里lcleft@163.com

[ Last edited by lcleft on 2009-4-14 at 23:22 ]
第2楼 netbenton 发表于 2009-04-09 13:08
银牌会员 发帖 752 积分 1,916 来自 广西
没什么好奇怪的,
成功,不成功都执行一次,
在命令后面加上这行:echo %errorlevel%&pause
自己多测试几次看看就明白了
第3楼 lcleft 发表于 2009-04-10 02:48
社区乞丐 发帖 32 积分 -31
求一个IF判断错误码的例子,
最好是可以在CMD下测试

[ Last edited by lcleft on 2009-4-10 at 04:26 ]
第4楼 slore 发表于 2009-04-10 23:41
铂金会员 发帖 2,478 积分 5,212
ERRORLEVEL number 如果最后运行的程序返回一个等于或大于
指定数字的退出代码,指定条件为 true。

IF DEFINED variable command

其中, compare-op 可以是:

EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于


@echo off
net usertest
set el=%ERRORLEVEL%
IF "%el%"=="0" echo net user 执行失败了!
pause

要么直接用EQU,NEQ这种……
要么用个变量保存下errorlevel

类型要一致。都是数字比较,或者字符串比较。
第5楼 lcleft 发表于 2009-04-11 11:13
社区乞丐 发帖 32 积分 -31
不太明白4楼的意思,也没有解决
不明白第二行net usertest 这个命令的意思
倒数第二行的net user这个命令也不清楚
当我在echo net user前加上&&时,看到的是似乎IF并没有做出判断

[ Last edited by lcleft on 2009-4-11 at 11:17 ]
第6楼 不得不爱 发表于 2009-04-12 00:59
超级版主 发帖 2,044 积分 5,310 来自 四川南充
这样可以吗
@echo off
net usertest
IF %ERRORLEVEL% == 2 echo net user 执行失败了!
pause
第7楼 lcleft 发表于 2009-04-13 01:41
社区乞丐 发帖 32 积分 -31
还是不行,
按照版主的代码执行,还是没有显示失败
第8楼 netbenton 发表于 2009-04-13 02:01
银牌会员 发帖 752 积分 1,916 来自 广西
你首先要知道执行该命令将会出现的返回码是什么才能进行编程的。
给一个批,自己运行测一下。

第9楼 不得不爱 发表于 2009-04-13 02:27
超级版主 发帖 2,044 积分 5,310 来自 四川南充
@echo off
net usertest
IF ERRORLEVEL 3 echo net user 执行失败了!(ERRORLEVEL 3)
IF ERRORLEVEL 2 echo net user 执行失败了!(ERRORLEVEL 2)
IF ERRORLEVEL 1 echo net user 执行失败了!(ERRORLEVEL 1)
pause
自己看下ERRORLEVEL是几 然后自己修改下
第10楼 lcleft 发表于 2009-04-14 03:12
社区乞丐 发帖 32 积分 -31
鸣谢
8楼的代码
楼主的关爱
以及前面的无名英雄
郑重宣布,
一知半解中
希望有大侠或女士弄个SET的用法啊,俺的EMAIL----lcleft@163.
com

[ Last edited by lcleft on 2009-4-14 at 03:23 ]
第11楼 HAT 发表于 2009-04-14 05:00
版主 发帖 5,017 积分 9,023
Re 10楼
本版搜索“set”
第12楼 lcleft 发表于 2009-04-20 10:59
社区乞丐 发帖 32 积分 -31
漠视群
第13楼 THENEWLIFE 发表于 2009-04-21 04:17
初级用户 发帖 64 积分 78
var=%%random%%%%%%2
请问下这句什么意思
%random%是随即数的意思,但是这里这么多%后面还加个2不知道什么意思
第14楼 lcleft 发表于 2009-04-26 12:34
社区乞丐 发帖 32 积分 -31
我也不知道啊
去搜索一下看看
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023