中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
作者:
标题: (结了)if判断errorlevel的问题 上一主题 | 下一主题
lcleft
社区乞丐





积分 -31
发帖 32
注册 2009-3-12
状态 离线
『楼 主』:  (结了)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 ]


2009-4-9 12:37
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 2 楼』:  

没什么好奇怪的, 成功,不成功都执行一次, 在命令后面加上这行:echo %errorlevel%&pause 自己多测试几次看看就明白了




精简 [你的+我的+他的]=>[大家的] 个人网志
2009-4-9 13:08
查看资料  发送邮件  发短消息  网志  OICQ (37659560)  编辑帖子  回复  引用回复
lcleft
社区乞丐





积分 -31
发帖 32
注册 2009-3-12
状态 离线
『第 3 楼』:  

求一个IF判断错误码的例子, 最好是可以在CMD下测试 [ Last edited by lcleft on 2009-4-10 at 04:26 ]


2009-4-10 02:48
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 4 楼』:  

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 类型要一致。都是数字比较,或者字符串比较。




S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2009-4-10 23:41
查看资料  发短消息  网志   编辑帖子  回复  引用回复
lcleft
社区乞丐





积分 -31
发帖 32
注册 2009-3-12
状态 离线
『第 5 楼』:  

不太明白4楼的意思,也没有解决 不明白第二行net usertest 这个命令的意思 倒数第二行的net user这个命令也不清楚 当我在echo net user前加上&&时,看到的是似乎IF并没有做出判断 [ Last edited by lcleft on 2009-4-11 at 11:17 ]


2009-4-11 11:13
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


积分 5310
发帖 2044
注册 2005-9-26
来自 四川南充
状态 离线
『第 6 楼』:  

这样可以吗 @echo off net usertest IF %ERRORLEVEL% == 2 echo net user 执行失败了! pause




2009-4-12 00:59
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
lcleft
社区乞丐





积分 -31
发帖 32
注册 2009-3-12
状态 离线
『第 7 楼』:  

还是不行, 按照版主的代码执行,还是没有显示失败


2009-4-13 01:41
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 8 楼』:  

你首先要知道执行该命令将会出现的返回码是什么才能进行编程的。 给一个批,自己运行测一下。
@echo off
echo.********测试命令回返码的批处理**********
:lp
set in=
echo.
set/p in=输入你的要执行的命令如:net usertest  :
if "%in%"=="" (goto :eof) else (%in%)
echo ********************************
echo.此次执行的返回码是:%errorlevel%
echo ********************************
goto :lp




精简 [你的+我的+他的]=>[大家的] 个人网志
2009-4-13 02:01
查看资料  发送邮件  发短消息  网志  OICQ (37659560)  编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


积分 5310
发帖 2044
注册 2005-9-26
来自 四川南充
状态 离线
『第 9 楼』:  

@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是几 然后自己修改下




2009-4-13 02:27
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
lcleft
社区乞丐





积分 -31
发帖 32
注册 2009-3-12
状态 离线
『第 10 楼』:  

鸣谢 8楼的代码 楼主的关爱 以及前面的无名英雄 郑重宣布, 一知半解中 希望有大侠或女士弄个SET的用法啊,俺的EMAIL----lcleft@163. com [ Last edited by lcleft on 2009-4-14 at 03:23 ]


2009-4-14 03:12
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 11 楼』:  Re 10楼

本版搜索“set”




2009-4-14 05:00
查看资料  发短消息  网志   编辑帖子  回复  引用回复
lcleft
社区乞丐





积分 -31
发帖 32
注册 2009-3-12
状态 离线
『第 12 楼』:  

漠视群


2009-4-20 10:59
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
THENEWLIFE
初级用户




积分 78
发帖 64
注册 2008-8-29
状态 离线
『第 13 楼』:  

var=%%random%%%%%%2 请问下这句什么意思 %random%是随即数的意思,但是这里这么多%后面还加个2不知道什么意思


2009-4-21 04:17
查看资料  发短消息  网志   编辑帖子  回复  引用回复
lcleft
社区乞丐





积分 -31
发帖 32
注册 2009-3-12
状态 离线
『第 14 楼』:  

我也不知道啊 去搜索一下看看


2009-4-26 12:34
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: