中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-02 00:56
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 再来贪心的问个问题..这个其实蛮简单的.只是我不清楚. 查看 762 回复 10
楼 主 再来贪心的问个问题..这个其实蛮简单的.只是我不清楚. 发表于 2007-04-11 07:30 ·  中国 广东 清远 电信
初级用户
积分 28
发帖 10
注册 2007-04-11 04:28
19年会员
UID 84696
性别 男
状态 离线
其实我所指的不明白是if errorlevel这个命令..
为啥我编写的
if errorlevel 2 echo 333
if errorlevel 1 echo 222
if errorlevel 0 echo 111
这样的命令会全都显示出来的?就不能让他不是那个值就不会显示出来吗?
2 发表于 2007-04-11 08:29 ·  中国 上海 东方有线
中级用户
★★
积分 218
发帖 86
注册 2006-08-10 10:45
19年会员
UID 60205
性别 男
状态 离线
建议LZ先看看if命令的帮助文件
if errorlevel是条件判断语句 没条件它怎么做判断
如果我说的有什么不对请高手指出
我是这么理解地
3 发表于 2007-04-11 08:52 ·  中国 四川 成都 电信
中级用户
★★
积分 297
发帖 135
注册 2006-10-21 12:00
19年会员
UID 67627
性别 男
状态 离线
可以这样
if errorlevel 2 echo 333 &goto :eof
if errorlevel 1 echo 222 &goto :eof
if errorlevel 0 echo 111 &goto :eof
4 发表于 2007-04-11 08:59 ·  中国 辽宁 丹东 联通
初级用户
★★
积分 116
发帖 56
注册 2007-03-07 04:53
19年会员
UID 80966
性别 男
状态 离线
- -!
迷啥好说的
建议先找点教程看看基础吧~~
QQ=3391617
5 发表于 2007-04-11 09:14 ·  中国 广东 清远 电信
初级用户
积分 28
发帖 10
注册 2007-04-11 04:28
19年会员
UID 84696
性别 男
状态 离线
我会用这个..但是更大的问题是在于他无论条件成不成立都会显示出来..
例如我编了个这样的..
if exist D:\*(反正就是某文件夹)
if errorlevel 2 echo 333 &goto :eof
if errorlevel 1 echo 222 &goto :eof
if errorlevel 0 echo 111 &goto :eof
他是无论成不成立都会全部执行(不知道是不是执行了.反正显示出来.我不喜欢他显示出来)
6 发表于 2007-04-11 09:30 ·  中国 四川 成都 电信
中级用户
★★
积分 297
发帖 135
注册 2006-10-21 12:00
19年会员
UID 67627
性别 男
状态 离线
你说的什么意思?
@echo off
ping www.www.www -n 1
if errorlevel 2 echo 333 &goto :eof
if errorlevel 1 echo 222 &goto :eof
if errorlevel 0 echo 111 &goto :eof
pause
上面的代码就只显示 222 完全正常
7 发表于 2007-04-11 10:51 ·  中国 安徽 芜湖 电信
高级用户
★★★
积分 866
发帖 415
注册 2005-12-04 11:19
20年会员
UID 46459
状态 离线
这个保证你不会全部都显示的。

if exist D:\*(反正就是某文件夹) && echo 有这个文件夹 || echo 没有这个文件夹。
pause>nul
8 发表于 2007-04-11 11:37 ·  中国 广东 广州 联通
银牌会员
★★★
积分 1,206
发帖 517
注册 2007-03-25 01:18
19年会员
UID 82819
性别 男
状态 离线
呵,语法用错了。才会如此的。。
知,不觉多。不知,乃求知
9 发表于 2007-04-11 11:56 ·  中国 北京 联通
初级用户
积分 83
发帖 34
注册 2006-11-24 10:50
19年会员
UID 71574
性别 男
状态 离线
语法没错,LZ只不过没有理解它的意思.
errorlevel码以等于或大于,来判断条件为TURE
一般这个命令用于跳转的比较多.


......
if errorlevel 2 goto 2
if errorlevel 1 goto 1
if errorlevel 0 goto 0
......
:0
echo 0000&pause>nul&exit
:1
echo 1111&pause>nul&exit
:2
echo 2222&pause>nul&exit
10 发表于 2007-04-11 13:03 ·  中国 广东 广州 联通
银牌会员
★★★
积分 1,206
发帖 517
注册 2007-03-25 01:18
19年会员
UID 82819
性别 男
状态 离线
晕。我打个比方吧。。
type 1.txt | find "adafafaf">nul
if errorlevel 1 echo 1111111111111111
if errorlevel 2 echo 2222222222222222
if errorlevel 3 echo 3333333333333333
你自己看一下。是不是他的语法错误。
看会不会出现 后面的123
知,不觉多。不知,乃求知
11 发表于 2007-04-12 11:25 ·  中国 广东 清远 电信
初级用户
积分 28
发帖 10
注册 2007-04-11 04:28
19年会员
UID 84696
性别 男
状态 离线
原来如此..那我明白了..用来跳转就不用显示出来了.谢谢上面帮忙的各位大大咯..
论坛跳转: