2017-09-26 165 views
0

我試圖使用bat文件作爲刪除文件夾中超過10天的文件的命令。代碼是這樣的:Forfiles with log

forfiles -p "E:\folder" -m *.* /D -10 /C "cmd /c del @path" 

但是,我無法弄清楚如何獲得日誌文件每次運行時填充。 我已經嘗試了下面這個,它適用於robocopy,但是不適用於forfiles。

forfiles -p "E:\folder" -m *.* /D -10 /C "cmd /c del @path" /LOG+:E:\folder\log.txt 

你知道我該怎麼寫這段代碼,所以我有一個填充了刪除信息的日誌文件?

感謝

+0

不確定爲什麼要嘗試使用/ LOG選項。它不是'DEL'命令的選項。 – Squashman

+0

好吧,我意識到,但是,我不確定如何使用robocopy來獲取這樣的日誌DEL命令。 – Turpan

回答

1

/LOG屬於一個ROBOCOPY因此它不工作。
在你的例子中,你也試圖將日誌文件寫入到你正在刪除文件的同一個文件夾中。也許這是想要的,但我只是說...

像下面它應該工作(只記錄不能被刪除的文件):

forfiles -p "E:\folder" -m *.* /D -10 /C "cmd /c del @path >> E:\anotherfolder\log.txt" 

下將記錄所有通過forfiles處理的文件。
(但不會顯示刪除是否成功)

forfiles -p "E:\folder" -m *.* /D -10 /C "cmd /c del @path&echo @path >> E:\anotherfolder\log.txt" 
+0

你是對的,這工作正常,謝謝。但是,出現了一個小問題,日誌文件是空的:-D你知道這是爲什麼嗎?謝謝 – Turpan

+0

@Turpan'''將'del'-命令的輸出重定向到文件中。意思是,如果文件是空的,則不存在要刪除的文件。 – MatSnow

+0

好吧,我已經用真正刪除的文件對它進行了實際測試,它只創建了空文件。難道不是它永久刪除了這些文件,因此沒有什麼可寫入日誌文件中? – Turpan