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
)