請問我可以寫各批次檔
然後用DEL指令
限定日期刪除嗎
例如我要刪除今天和昨天以前的所有檔案可以嗎
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代表天數。
擷取日期的方式可以參考我之前分享的:
在Windows裡擷取前一天日期的指令碼
刪除檔案的話,如果檔案上面有加註日期,那就可以用上述的方式,搭配 del /s /q 來刪除
假設6/24要刪除3天前的檔案,欲刪除的檔名為log_20080621.txt,舉例如下:
<pre class="c" name="code">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 /?)
<pre class="c" name="code">rmdir /s /q d:\backup\log_%y%%m%%d%
然後用 Windiws 內建的排程,定期執行 bat 檔即可
最後請注意,bat 檔最好放在 C 槽,免得執行上出問題