@echo off
setlocal enabledelayedexpansion
set TarDir=E:\testdel
rem 删除E:\testdel文件夹里面的一个月前的文件
echo dt=date()-7 > %tmp%\MyDel.vbs
rem 把当前时间减去7天的变量写入VBS中
echo s=right(year(dt),4)^&right("0"^&month(dt),2)^&right("0"^&day(dt),2)
>> %tmp%\MyDel.vbs
echo wscript.echo s >> %tmp%\MyDel.vbs
rem 把时间变量写入到vbs文件中
for /f %%a in ( 'cscript /nologo %tmp%\MyDel.vbs ') do
@set DateFlag=%%a
rem 提取MYDEL.VBS运行后的变量
for %%i in (E:\testdel\*.*) do (
set t=%%~ti
set FileDate=!t:~0,3!!t:~3,3!!t:~6,4!
if !FileDate! lss %DateFlag% del /f %%i
)
rem 对文件的时间和当前时间减去几天前的时间相对比
del %tmp%\MyDel.vbs
endlocal