|
GOTOmsdos
铂金会员
C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『楼 主』:
Wengier 的MS-DOS7.1 的COPY的返回码好象错乱?
Wengier 的MS-DOS7.1 的COPY的返回码好象有点奇怪?
空间不足的返回码好象错乱? (系统配置没特别的)
|
|
2005-5-20 00:00 |
|
|
Wengier
系统支持
“新DOS时代”站长
积分 27734
发帖 10521
注册 2002-10-9
状态 离线
|
『第
2 楼』:
怎麼奇怪法?能說明一下嗎(我倒沒發現)?
|
Wengier - 新DOS时代
欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/
E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)
|
|
2005-5-21 00:00 |
|
|
GOTOmsdos
铂金会员
C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第
3 楼』:
运行COPY后,我想用返回码看是否空间不足,XCOPY好象是4,但COPY后,不管空间是否足,好象都是26,(加载了TW32,DOSLFN)
@echo off
xmsdsk 1000 z: /t /y
copy d:\game\wolf3d z:\ /y >nul
if errorlevel 27 goto 27
if errorlevel 26 goto 26
if errorlevel 5 goto other
if errorlevel 4 goto noenough
if errorlevel 3 goto 3
if errorlevel 2 goto ctrl
if errorlevel 1 goto nofile
if errorlevel 0 goto ok
:27
wbat box error27
goto end
:26
wbat box error26
goto end
ther
wbat box othererror
goto end
:noenough
wbat box noenough
goto end
:3
wbat box errorlevel3
goto end
:ctrl
wbat box ctrlc
goto end
:nofile
wbat box nofile
goto end
:end
set copy=fail
k
最后显示ERROR26
而且,空间不足运行COPY XXXX XXXX >FILE, 或管道 | FIND /I "Insufficient disk space"
> 和| 都无效! 就是不能把这个Insufficient disk space截取下来,但他确实显示了.
XCOPY就正常.
[此贴子已经被作者于2005-5-21 15:09:29编辑过]
|
|
2005-5-21 00:00 |
|
|
defrag
中级用户
痴迷DOS者
积分 456
发帖 570
注册 2004-10-9
状态 离线
|
『第
4 楼』:
Quote: | 而且,空间不足运行COPY XXXX XXXX >FILE, 或管道 | FIND /I "Insufficient disk space" |
|
应该是COPY XXXX XXXX 2>FILE, 或管道 2|FIND /I "Insufficient disk space"把
|
DOS不是万能的,没有DOS是万万不能的
自古系统谁无死?留取胆清照汗青![upload=bmp]uploadImages/20035317345478982.png[/upload] |
|
2005-5-21 00:00 |
|
|
defrag
中级用户
痴迷DOS者
积分 456
发帖 570
注册 2004-10-9
状态 离线
|
『第
5 楼』:
COMMAND.COM是汇编的,外部命令是BASIC的
|
DOS不是万能的,没有DOS是万万不能的
自古系统谁无死?留取胆清照汗青![upload=bmp]uploadImages/20035317345478982.png[/upload] |
|
2005-5-21 00:00 |
|
|
defrag
中级用户
痴迷DOS者
积分 456
发帖 570
注册 2004-10-9
状态 离线
|
『第
6 楼』:
哪个是COMMAND.COM的返回码
|
DOS不是万能的,没有DOS是万万不能的
自古系统谁无死?留取胆清照汗青![upload=bmp]uploadImages/20035317345478982.png[/upload] |
|
2005-5-21 00:00 |
|
|
willsort
元老会员
Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
7 楼』:
Re GOTOmsdos: 在DOS和Win9x命令行下,所有的内部命令均不影响返回码(Errorlevel)。你所看到的26应该是其他程序产生的,而非copy。
|
※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2005-5-22 00:00 |
|
|
GOTOmsdos
铂金会员
C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第
8 楼』:
其他程序产生的? 你看我的前帖呀,刚刚运行了COPY后的返回码呀!怎么会是其他程序?XCOPY就没问题呀
|
|
2005-5-22 00:00 |
|
|
defrag
中级用户
痴迷DOS者
积分 456
发帖 570
注册 2004-10-9
状态 离线
|
『第
9 楼』:
是xmsdsk产生的把
|
DOS不是万能的,没有DOS是万万不能的
自古系统谁无死?留取胆清照汗青![upload=bmp]uploadImages/20035317345478982.png[/upload] |
|
2005-5-22 00:00 |
|
|
GOTOmsdos
铂金会员
C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第
10 楼』:
最后运行的是COPY啊! 老兄! 返回码怎么会是前面程序的?!
|
|
2005-5-23 00:00 |
|
|
Wengier
系统支持
“新DOS时代”站长
积分 27734
发帖 10521
注册 2002-10-9
状态 离线
|
『第
11 楼』:
确实正如defrag所说,ERRORLEVEL 26是由XMSDSK产生的,而非COPY产生的。willsort上面已提到过,DOS下的内部命令包括COPY命令是不会更改ERRORLEVEL值的,所以当XMSDSK Z:运行完时,返回值是26(正好对应驱动器Z:),而后面运行的COPY命令对此时的ERRORLEVEL值完全没有变动,所以COPY完后返回值仍然是26,即保持不变。而XCOPY则不同,它是外部命令,所以是会修改ERRORLEVEL值的,不可与COPY这个内部命令相提并论。也就是说,此程序的返回值是正常现象了。另外,由于"Insufficient disk space"这个信息并不像一般的程序输出那样是写入STDOUT(即标准输出)的,所以不能用管道命令截取。
|
Wengier - 新DOS时代
欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/
E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)
|
|
2005-5-23 00:00 |
|
|
GOTOmsdos
铂金会员
C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第
12 楼』:
哈哈! 看了头儿的祥解,完全明白了! 嘿嘿,让大家奸笑了!....
|
|
2005-5-23 00:00 |
|