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

时间:2013-07-30 09:59:21

标签: windows command-line batch-file

Windows批处理文件:

我有一个由进程创建的日志。现在我想创建一个批处理文件,检查此日志文件以获取特定的成功消息:

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

现在日志文件中的不同时间戳有几个这样的成功条目,因为日志文件只是添加了最新的成功消息。

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

这可能吗?

谢谢

1 个答案:

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