[code=BatchFile]@echo off
rem 假设所有的文件存放在C:\test文件夹里面
set DstDir=C:\test
rem 删除30天之前的文件
>"%tmp%\MyDel.vbs" echo dt=date()-30
>>"%tmp%\MyDel.vbs" echo s=right(year(dt),4) ^& right("0" ^& month(dt),2) ^& right("0" ^& day(dt),2)
>>"%tmp%\MyDel.vbs" echo wscript.echo s
for /f %%a in ('cscript /nologo "%tmp%\MyDel.vbs"') do set DateFlag=%%a
setlocal enabledelayedexpansion
for %%a in (C:\test\*.*) do (
set t=%%~ti
set FileDate=!t:~6,4!!t:~0,2!!t:~3,2!
if !FileDate! lss %DateFlag% del /q "%%a"
)
endlocal
del "%tmp%\MyDel.vbs"[/code]