iT邦幫忙

0

自行刪除超過7日的資料夾連檔案

ska 2020-05-14 16:18:061063 瀏覽

如何可以用Windows的batch刪除超過7日的資料夾和在資料夾內的檔案﹖

我已嘗試在Google上尋找資料,看到有網站教用forfiles來做。

https://abcg5.pixnet.net/blog/post/114773429-windows%E5%88%A9%E7%94%A8batch%E5%88%AA%E9%99%A4%E9%81%8E%E6%9C%9F%E6%AA%94%E6%A1%88%E5%92%8C%E7%A9%BA%E8%B3%87%E6%96%99%E5%A4%BE

這我參考它的資料修改,code如下︰

@echo off
set log_dir=D:\Backup

echo Starting Remove Expired File(7 days ago)...
forfiles /p %log_dir% /d -7 /s /m *.* /c "cmd /c del @path"

echo Starting Remove Empty Folder...
for /f "delims=" %%d in ('dir %log_dir% /s /b /ad ^| sort /r') do rd "%%d"

「D:\Backup」是儲存位置,這個資料夾內再有一些資料夾每日都會建立和複製一些檔案到有關資料夾中。

但是為安全起健,我進行了一些測試,主要是要找出超過7日的檔案,code如下︰

forfiles /p "D:\Bakcup" /s /m *.* /d -7 /c "cmd /c echo@file:date>=7 days"

但是出現「The filename, drectory name, or volume label syntax is incorrect」。

這我測試指令是那裡寫錯﹖同時如何修改。

2 個回答

2
pinglam
iT邦新手 5 級 ‧ 2020-05-14 16:43:09
最佳解答
ska iT邦新手 4 級 ‧ 2020-05-15 12:46:13 檢舉

Thx!

0
小湯
iT邦研究生 2 級 ‧ 2020-05-14 22:06:35

https://ithelp.ithome.com.tw/upload/images/20200514/20010931S4BDogWj6w.png

我要發表回答

立即登入回答