0

Windows 批处理文件:

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

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

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

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

这可能吗?

谢谢

4

1 回答 1

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
)
于 2013-07-30T12:01:03.877 回答