Board logo

标题: XP下如何用bat文件删除文件夹中30天前的文件? [打印本页]

作者: jeming     时间: 2009-9-4 02:28    标题: XP下如何用bat文件删除文件夹中30天前的文件?

请教各位专家:

XP系统下,C:\data文件夹中每日自动存入大量日志文件,如何写一个批处理文件,每日自动删除此文件夹中30天前的文件?谢谢啦!
作者: Hanyeguxing     时间: 2009-9-4 05:34
如果你不想使用第三方工具的话:
1,手工删除目录下该删除的日志文件
2,在任务计划里添加每天运行这个批处理
3,确保该计划每天都被执行
@echo off
if %date:~5,1% == 0 (set /a han2=%date:~6,1%-1) else set /a han2=%date:~5,2%-1
if %han2% == 0 (set /a han1=%date:~0,4%-1) else set han1=%date:~0,4%
if %han2% lss 10 set han2=0%han2%
set han=%han1%-%han2%-%date:~8,2%
for /f "tokens=1,4* " %%i in ('dir "C:\data" /a:-d /t:c ^| findstr /i ".log$"') do if "%han%" == "%%i" del /q /a /f "%%j">nul 2>nul
不过,用第三方工具,用vbs,都比纯批处理在这个问题上做得简洁

[ Last edited by Hanyeguxing on 2009-9-4 at 05:52 ]