Windows批处理文件:
我有一个由进程创建的日志。现在我想创建一个批处理文件,检查此日志文件以获取特定的成功消息:
BDX 2013/07/25 23:08:02 -I- DATABASE SUCCESSFULL
现在日志文件中的不同时间戳有几个这样的成功条目,因为日志文件只是添加了最新的成功消息。
所以我想检查日志文件中是否有LATEST成功消息,并将其与日志文件上的日期戳(日志文件的日期值,即上次写入日期值)进行比较:< / strong>如果日志文件中最新成功条目的日期匹配日志文件的日期戳,则应运行另一个批处理文件(例如,调用another.bat) 。如果它不匹配,意味着最后一个成功条目早于日志文件上的时间戳,它应该只写一个错误日志(error.log),其中包含单词:'DATABASE UNSUCCESSFUL',旁边有当前时间戳。
这可能吗?
谢谢
答案 0 :(得分:3)
试试这个:
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
)