首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > windows >

【批处理】标号:XXX范围的设定,该怎么解决

2012-03-19 
【批处理】标号: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

热点排行