通过批处理读取日志文件,直到找到关键字“终止”

时间:2017-11-16 06:33:48

标签: windows batch-file

我是批处理编程的新手,我正在通过目标Windows机器上的jenkins执行Windows批处理命令。 我的要求是在自动化运行时读取日志文件(aut.log)。一旦关键字“Terminate”写入日志文件,就应该停止阅读日志并继续下一步。

1 个答案:

答案 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

将输出推送到null
@echo off
:start
FIND /C /I "Terminate" "F:\aut.log" 1>null
IF %ERRORLEVEL%==0 (echo found word Terminate
) else (
  goto start:
)