日期:2014-05-17  浏览次数:20643 次

.bat批处理中我想删除某个日期后修改过的文件,用什么命令?
如题

------解决方案--------------------
参考:http://blog.csdn.net/scz123/archive/2006/09/12/1213907.aspx
------解决方案--------------------
@echo off
setlocal enabledelayedexpansion
rem 假设要删除C盘test文件夹里面的十天前的文件
set TarDir=C:\test
echo dt=date()-10> %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> > %tmp%\MyDel.vbs
for /f %%a in ( 'cscript /nologo %tmp%\MyDel.vbs ') do @set DateFlag=%%a
for %%i in (C:\test\*.*) do (
set t=%%~ti
set FileDate=!t:~6,4!!t:~0,2!!t:~3,2!
if !FileDate! lss %DateFlag% del /f %%i
)
del %tmp%\MyDel.vbs
endlocal