我是批处理编程的新手,我正在通过目标Windows机器上的jenkins执行Windows批处理命令。 我的要求是在自动化运行时读取日志文件(aut.log)。一旦关键字“Terminate”写入日志文件,就应该停止阅读日志并继续下一步。
答案 0 :(得分:0)
我将根据非常不明确的问题给出答案。
@echo off
:start
FIND /C /I "Terminate" "F:\aut.log"
IF %ERRORLEVEL%==0 (echo found word Terminate
) else (
goto start
)
这将在循环中找到单词Terminate
的文件,直到找到它,然后回显found word Terminate
,此时您将用命令替换echo命令。但是,如果找不到该词,它将返回:start
再次尝试并继续直到找到该词。
如果您想减慢整个过程,请执行以下操作:开始,添加timeout /t 1
1秒钟。
@echo off
:start
timeout /t 1
FIND /C /I "Terminate" "F:\aut.log"
IF %ERRORLEVEL%==0 (echo found word Terminate
) else (
goto start
)
最后,如果您不想在运行时在循环屏幕上看到实际输出,可以使用1>null
@echo off
:start
FIND /C /I "Terminate" "F:\aut.log" 1>null
IF %ERRORLEVEL%==0 (echo found word Terminate
) else (
goto start:
)