还是不敢苟同,既然你以前说过 errorlevel 从高值开始判断, 事实也确实是这样。
那么我们为什么不用if %errorlevel% == 1, 偏要坚持用if errorlevel 1呢? 我们为什么不能为了避免很难察觉的错误,从而抛弃if errorlevel 1的用法呢?
类似的还有
set test=OK &echo %test% 其实 test值是“OK ” 很难发现
set “test=OK” &echo &test% test值是 "OK"
set test=OK&echo %test% test值是 "OK"
所以为了防止歧义,我决定抛弃 if errorlevel 的用法。
我再贴一次我以前帖过的代码, 你把 if %errorlevel% == 换成 if errorlevel 试试看。不一样就是不一样啊 。
@echo off
rem call:test error 再换成 dir
call:test error 1>nul 2>nul
IF %ERRORLEVEL%==0 (ECHO FOR语句运行无误) ELSE (ECHO FOR 语句出错)
pause&exit
:test
for /f "usebackq delims==" %%i in (`%1`) do (echo %%i)
Last edited by quya on 2008-7-5 at 12:09 PM ]