Board logo

标题: [求助]一个批处理的问题 [打印本页]

作者: doslr     时间: 2004-11-3 00:00    标题: [求助]一个批处理的问题
if errorlevel 数字  待执行的命令
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。如if errorlevel 2 goto x2  DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码


我不明白,能说几个例子吗??
怎么知道错误码?? if errorleve ?(这个数字怎么知道什么时候用什么数字啊)

作者: doslr     时间: 2004-11-3 00:00
哪位大侠能说说呢??

作者: bush     时间: 2004-11-5 00:00
错误码errorlevel返回給dos系統,是給其他程序看的。

作者: bush     时间: 2004-11-5 00:00
下面這一段代碼讓用戶選擇光驅的盤符:CHOICE What letter is your CD-ROM drive? /C<img src="images/smilies/face-smile-big.png" align="absmiddle" border="0">EF
if errorlevel 1 set driveletter=d
if errorlevel 2 set driveletter=e
if errorlevel 3 set driveletter=f

作者: doslr     时间: 2004-11-6 00:00
很多批处理都有 if errorlevel 1 goto .... 的语句??我是想知道if errorlevel 的前面的语句执行完之后,会返回一个错误码,怎么才知道是什么码?? 怎么知道 if errorlevel 后面是跟1还是2还是0,或者其它的数

作者: 龙王     时间: 2004-11-6 00:00
以下是引用bush在2004-11-5 16:06:15的发言:

下面這一段代碼讓用戶選擇光驅的盤符:
CHOICE What letter is your CD-ROM drive? /C<img src="images/smilies/face-smile-big.png" align="absmiddle" border="0">EF
if errorlevel 1 set driveletter=d
if errorlevel 2 set driveletter=e
if errorlevel 3 set driveletter=f

这样的程序能运行吗
返回码应该从高到低
也就是从3到1

作者: doslr     时间: 2004-11-8 00:00
???还是不太懂,能再说说吗??

作者: 龙王     时间: 2004-11-10 00:00
4楼的程序简单调一下位置,修改如下:
CHOICE What letter is your CD-ROM drive? /C<img src="images/smilies/face-smile-big.png" align="absmiddle" border="0">EF
if errorlevel 3 set driveletter=f
if errorlevel 2 set driveletter=e
if errorlevel 1 set driveletter=d

作者: qzwqzw     时间: 2004-11-15 00:00
龙王,你的修改是错的,看一下willsort编注的手把手教你写批处理就明白了。http://bbs.cn-dos.net/dispbbs.asp?boardID=9&amp;ID=13456&amp;page=1