2016-10-16 109 views
-1

我有一臺PC在一天的不同時間運行特定的BAT文件。爲了確保我跟蹤所有任務正在發生,我讓每個任務在名爲tack.txt的日誌文件中註冊一個條目。這通常是它的外觀:BAT文件從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天更早的條目以保持整個過程整潔?

+0

一個簡單的exe就可以做到。每天晚上如何運行一個進程,並在前幾天使用三個文件,並將它們複製到前一天。要查看它,您可以連接它們並按需要顯示。 – kenny

+1

請注意,https://stackoverflow.com不是一個免費的腳本/代碼寫入服務。如果您告訴我們您迄今爲止所嘗試的內容(包括您已經使用的腳本/代碼)以及您卡住的位置,那麼我們可以嘗試幫助解決特定問題。您還應該閱讀[我如何提出一個好問題?](https://stackoverflow.com/help/how-to-ask)。 – DavidPostill

+0

是的,這是可能的。但你需要展現你自己的努力!我們不會爲你免費寫一個腳本!請在這裏學習[如何提問](http://stackoverflow.com/help/how-to-ask)! – aschipfl

回答

0

是的。很難得到Batch的昨天日期(處理跨月/年/閏日的特殊情況),但通過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與matching.txt文件。