批处理if的使用问题
echooffdirz:IFERRORLEVEL1goto1IFERRORLEVEL0goto0:0echo命令执行成功!gotoexit:1echo命令执行失败!got...
echo off
dir z:
IF ERRORLEVEL 1 goto 1
IF ERRORLEVEL 0 goto 0
:0
echo 命令执行成功!
goto exit
:1
echo 命令执行失败!
goto exit
:exit
上面的程序中IF ERRORLEVEL 0 goto 0这条指令所依照的返回值是指IF ERRORLEVEL 1 goto 1这条命令的还是dir z:这条命令的啊,如果是后者,那就重复了吧,那IF ERRORLEVEL 0 goto 0写不写不都一样的吗,关键我觉得IF ERRORLEVEL 1 goto 1不能算是他所依照得那条指令。 展开
dir z:
IF ERRORLEVEL 1 goto 1
IF ERRORLEVEL 0 goto 0
:0
echo 命令执行成功!
goto exit
:1
echo 命令执行失败!
goto exit
:exit
上面的程序中IF ERRORLEVEL 0 goto 0这条指令所依照的返回值是指IF ERRORLEVEL 1 goto 1这条命令的还是dir z:这条命令的啊,如果是后者,那就重复了吧,那IF ERRORLEVEL 0 goto 0写不写不都一样的吗,关键我觉得IF ERRORLEVEL 1 goto 1不能算是他所依照得那条指令。 展开
展开全部
是依照dir z:这条命令来判断的.
ERRORLEVEL值是指上个执行程序所返回的值,一般成功为0失败为1,但不是绝对的,有些程序返回的值则不一样.
另:并不是所有程序都会返回ERRORLEVEL值的,if命令就不会返回这个值.你可以写句错误的if格式语句,然后查看ERRORLEVEL的值依然是默认的0.
最好这样写:
IF ERRORLEVEL 0 (goto 0) else goto 1
如果你不确定返回值的问题也可以这样写:
dir z: && goto 0 || goto 1
注:
&& 前面的命令执行成功才执行后面的命令.
|| 与&&正好相反.
ERRORLEVEL值是指上个执行程序所返回的值,一般成功为0失败为1,但不是绝对的,有些程序返回的值则不一样.
另:并不是所有程序都会返回ERRORLEVEL值的,if命令就不会返回这个值.你可以写句错误的if格式语句,然后查看ERRORLEVEL的值依然是默认的0.
最好这样写:
IF ERRORLEVEL 0 (goto 0) else goto 1
如果你不确定返回值的问题也可以这样写:
dir z: && goto 0 || goto 1
注:
&& 前面的命令执行成功才执行后面的命令.
|| 与&&正好相反.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询