![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-14 03:07 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS学习入门 & 精彩文章 (教学室) » 输入command/z可以看到命令的errorlevel |
| 可打印版本 1,207 / 10 |
| 第1楼 polynominal | 发表于 2004-02-02 00:00 |
| 初级用户 发帖 1 积分 104 | |
|
输入command/z可以看到命令的errorlevel 有人写过吗?:-)
写batch file的时候,很多errorlevel搞不清楚,怎么办呢? 输入command/z,以后运行的外部命令的errorlevel就可以 看见了 |
|
| 第2楼 Wengier | 发表于 2004-02-03 00:00 |
| 系统支持 发帖 10,521 积分 27,736 | |
|
谁都知道嘛。。
|
|
| 第3楼 willsort | 发表于 2004-02-03 00:00 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re polynominal:
可惜DOS6。X及其以下版本不支持,我目前正在构想获得ERRORLEVEL的高效率的BATCH,不存在我所说的问题很快可以完成了。 Re Wengier: 太绝对了吧? |
|
| 第4楼 Roy | 发表于 2004-02-03 00:00 |
| 管理员 发帖 1,633 积分 4,869 | |
以下是引用willsort在2004-2-3 13:40:21的发言:這個就是: :: Author: Leonardo Pignataro (secret_doom@hotmail.com) :: Trace errorlevel @echo off for %%? in (0 1 2) do if errorlevel=%%?00 set D1=%%? for %%? in (0 1 2 3 4 5 6 7 8 9) do if errorlevel=%D1%%%?0 set D2=%%? for %%? in (0 1 2 3 4 5 6 7 8 9) do if errorlevel=%D1%%D2%%%? set D3=%%? set err=%D1%%D2%%D3% for %%? in (D1 D2 D3) do set %%?= echo %err% |
|
| 第5楼 willsort | 发表于 2004-02-03 00:00 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re roy:
思路不错,可以作为我完成下帖的参考。只是麻烦你 IF ERRORLEVEL 后面别用=好不好,会加深误解的。 http://model.chinajewelry.net/dos/dosbbs/dispbbs.asp?boardID=6&ID=9358 |
|
| 第6楼 Wengier | 发表于 2004-02-03 00:00 |
| 系统支持 发帖 10,521 积分 27,736 | |
|
willsort:
关于COMMAND /Z,因为我在网站中曾做为DOS的未公开用法介绍过,所以我才认为大家应该都已知道了。 其实ERR2ENV也许更好用。 至于DOS 6.x及以下版本,那就没有什么意义了。那么旧的DOS版本,已没有什么使用介值,当然也不支持这些新功能了。 |
|
| 第7楼 Roy | 发表于 2004-02-03 00:00 |
| 管理员 发帖 1,633 积分 4,869 | |
以下是引用willsort在2004-2-3 20:29:42的发言:ERRORLEVEL是變數啊,就如%COMSPEC%一樣,可以用"="的 更何況錯的不是我,是Leonardo Pignataro 啊 |
|
| 第8楼 Wengier | 发表于 2004-02-04 00:00 |
| 系统支持 发帖 10,521 积分 27,736 | |
|
Roy:不对呀,又不是WinNT/2K/XP的“命令提示符”下。纯DOS下的ERRORLEVEL不是变量,而是IF的一种特别用法,即:IF ERRORLEVEL ...
|
|
| 第9楼 willsort | 发表于 2004-02-04 00:00 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re Wengier:
现在的人见了宝贵资料收藏的多,研读的少,多少人都是用到了再上论坛来问。所以,信息的普及不在于其是否公开,而在于受众是否有获知的渴望。 Re Roy: Wengier 的说法很对,errorlevel 是作为 if 的命令分支使用的。即使在98和xp下我也没有见到这个环境变量。而如果这个ERRORLEVEL是环境变量,那这个程序本身就失去了意义,因为程序的目的就是为了将ERRORLEVEL值赋给环境变量的。即使假设Leonardo Pig是作为变量使用的,那也应该用==,否则就是语法错误。所以这里可以肯定他是作为命令分支使用的。 而作为命令分支,ERRORLEVEL 与value之间的关系就应该是大于等于,而非等于,所以我才说=有误导之嫌。而为什么用=可以使用呢?因为ERRORLEVEL 与value之间本是用空格隔的,而DOS命令行对单个=又是忽略解释的,这点与;和空格是一致的,不信你可以做一个测试。 ::test.bat echo First:%1 echo Second:%2 c:\test 111 222 c:\test 111;222 c:\test 111=222 另外,在dos命令行中还存在很多做特殊解释的字符,大家可以多测试一下。重定向符号太熟悉了,就免了 ![]() |
|
| 第10楼 dosfroum | 发表于 2005-10-01 10:49 |
| 初级用户 发帖 54 积分 154 | |
|
請問我在windows 2000底下打了 怎麻沒反應
commnad下或是cmd下 打COMMAND /Z 只跳到下一行 |
|
| 第11楼 bush | 发表于 2005-10-01 15:54 |
| 银牌会员 发帖 730 积分 2,165 | |
|
FREEDOS就沒有這個功能! |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |