为查找SUCCESS消息的批处理文件编写脚本



Windows批处理文件:

我有一个由进程创建的日志。现在我想创建一个批处理文件,检查这个日志文件中是否有特定的成功消息:

 BDX 2013/07/25 23:08:02 -I- DATABASE SUCCESSFULL 

现在,由于日志文件只添加了最新的成功消息,因此日志文件中有几个成功条目位于不同的时间戳。

因此,我想检查日志文件中的最新成功消息,并将其与日志文件上的日期戳(日志文件的日期值,表示上次写入该消息的时间)进行比较如果日志文件最新成功条目的日期与日志文件的时间戳匹配,它应该运行另一个批处理文件(例如,调用另一个.bat)。如果它不匹配,意味着最后一个成功条目比日志文件上的时间戳早,它应该只写一个错误日志(error.log),其中包含单词:"DATABASE UNSUCCESSFUL",旁边有当前时间戳…

这可能吗?

感谢

试试这个:

for /f "tokens=2" %%a in ('findstr /i /c:"DATABASE SUCCESSFULL" logfile.txt') do set "success=%%a"
for %%a in (logfile.txt) do set "filedate=%%~ta"
if "%filedate:~0,10%"=="%success%" (
    call another.bat
) else (
    >>otherlogfile.log echo(%date% %time% DATABASE UNSUCCESSFUL
)

最新更新