BAT文件从TXT文件中删除旧的日志条目

时间:2016-10-16 13:15:24

标签: batch-file for-loop logging

我有一台PC在当天的不同时间运行特定的BAT文件。为了确保我跟踪所有任务正在发生,我使每个任务在名为tack.txt的日志文件中注册一个条目。这通常是它的外观:

Start Cams @ 10/09/2016 15:11:43 
Update List @ 11/09/2016 14:13:47
EPG Update @ 11/09/2016 16:59:48 
Start Cams @ 11/09/2016 17:01:35 
Restart @ 13/09/2016 17:16:52 

每个条目都在一个单独的行中,并且具有显示的日期和时间。

是否可以创建一个BAT文件,删除超过3天的条目以保持流程整洁?

1 个答案:

答案 0 :(得分:0)

是。很难在昨天与批处理(处理几个月/几年/一天的特殊情况),但在Powershell的帮助下很容易。

你可以得到这样的日期:

for /f %%a in ('"powershell [DateTime]::Now.AddDays(-2).ToString('dd/MM/yyyy')"') do ( set today-2=%%a )

然后你可以像这样搜索它们,并将匹配的行输出到文件中:

findstr "%today-2% %today-1% %today%" test.txt >matching.txt

然后,您可以通过copy /ydel将match.txt替换为日志文件。

相关问题