iThome online | iT邦部落格 | Windows 7 Club

載入中...

jerry710822

IT邦初學者
6級

del指令加日期

請問我可以寫各批次檔
然後用DEL指令
限定日期刪除嗎
例如我要刪除今天和昨天以前的所有檔案可以嗎

那如果我要刪除特定日期以前的資料夾呢
那該如何做

2008-06-23 18:06:44 補充



收到書籤:發佈到twitter      
解決時間:2008-06-28 14:30:02
發問時間:2008-06-23 14:29:52
▼ ADVERTISEMENT ▼

最佳解答(網友推薦)
15

回答:vincent118 ( IT邦好手1級 )

時間:2008-06-23 17:24:56

windows 下有人已經寫過VBS http://blog.lyhdev.com/2007/05/vbscript.html。修改一下設定到AT裡面(排定的工作)就可以用了。

如果是Linux下 直接在cron table 設定
find /home/pfn/ -type f -mtime +14 -exec rm -rf {} \;
裡面的14代表天數。

2008-06-23 17:34:31補充
del 指令不能加日期。

要用 VB Script 或是其他程式完成。

如果寫程式對你來說有難度,去參考這一個吧。

Delenda

http://peccatte.karefil.com/software/Purge/FAQ_Delenda.htm
2008-06-24 10:59:54補充
jhwang, 的做法也不錯啦,但是只能傳特定條件的檔案。

想了很久,給大家一個更有用的。

在google上搜尋 "wscript 定期刪除超過N天的檔案" ,找到"腳............"。

有很多有用的資訊。由於我不是原著,因此不方便原文貼出。有找到就是你的啦。
2008-06-24 11:01:05補充
Tyoe

傳特定條件 > 刪特定條件
del指令加日期
iT邦守護神
回答:jhwang( IT邦初學者1級 )
時間:2008-06-24 01:58:52
13
擷取日期的方式可以參考我之前分享的:
在Windows裡擷取前一天日期的指令碼


刪除檔案的話,如果檔案上面有加註日期,那就可以用上述的方式,搭配 del /s /q 來刪除

假設6/24要刪除3天前的檔案,欲刪除的檔名為log_20080621.txt,舉例如下:
echo wscript.echo dateadd("d",-3,date) >%tmp%\tmp.vbs   
for /f "tokens=1,2,3 delims=/- " %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i   
for /f "tokens=1,2,3 delims=/- " %%i in ('cscript /nologo %tmp%\tmp.vbs') do set m=%%j   
for /f "tokens=1,2,3 delims=/- " %%i in ('cscript /nologo %tmp%\tmp.vbs') do set d=%%k   
if %m% LSS 9 set m=0%m%   
if %d% LSS 9 set d=0%d%
del /s /q d:\backup\log_%y%%m%%d%.txt


如果

如果檔案是分資料夾存放,資料夾有加註日期,可以直接用 rmdir /s /q 刪除整個資料夾
(請小心使用,詳細使用說明請參考 rmdir /?)
rmdir /s /q d:\backup\log_%y%%m%%d%


然後用 Windiws 內建的排程,定期執行 bat 檔即可
最後請注意,bat 檔最好放在 C 槽,免得執行上出問題
回答:pqr0007( IT邦初學者3級 )
時間:2008-06-27 16:19:24
1
who is your teacher?? ... ask your teacher...

回應

請填寫您的回應,長度限為1,000個字,回應不計點數,也不限使用次數



 

檢舉違規

違規事項:

*補充檢舉理由(可省略),字數不可超過100字

推薦

推薦理由:


*給回答者的鼓勵(可不填),字數不可超過100字

▼ ADVERTISEMENT ▼

訂閱每日摘要 HOT!

iT邦幫忙即日起提供「每日摘要」給尚未註冊的邦友,只要輸入您的E-mail,每日就可以收到最新的發問與分享
[查看最新的每日摘要]