【批处理】标号:XXX范围的设定,该怎么解决
【批处理】标号:XXX范围的设定在批处理中可以用“:XXX”来构建一个标号,然后用GOTO XXX或者CALL :XXX来跳转到
【批处理】标号:XXX范围的设定
在批处理中可以用“:XXX”来构建一个标号,然后用GOTO XXX或者CALL :XXX来跳转到标号:XXX处,然后执行标号后的命令。
Assembly code@ECHO OFFFOR /R D:\2012-02-27 %%i IN (test.log) DO ( ECHO %%~Zi IF %%~Zi EQU 0 GOTO exeError IF %%~Zi GTR 0 ECHO OK):exeErrorECHO ERROR>>error.txtpause
想法是:判断test.log文件,如果大小是0的话,在error.txt中加条信息。如果大于0,则显示OK。
如果test.log文件大于0,在运行的时候,,在控制台窗口显示OK,同时也生成了error.txt。
想请问一下,该怎么改?
同时想问一下,如何去确定:XXX标签的范围。
Assembly code@ECHO OFFGOTO test:testECHO 1234ECHO abcdpause
如何操作才能确定:test只包含"ECHO 1234"这一句。
谢谢。
[解决办法]:XXX只是一个标志,GOTO :XXX表示执行跳到这一行,然后继续按顺序往下执行。这个是不能限制范围的。
[解决办法]@ECHO OFF
FOR /R D:\2012-02-27 %%i IN (test.log) DO (
ECHO %%~Zi
IF %%~Zi EQU 0 CALL :exeError
IF %%~Zi GTR 0 ECHO OK
)
pause
goto :eof
:exeError
ECHO ERROR>>error.txt