bat批处理文件 删除制定文件夹当前日期3个月以前的文件

bat批处理文件 删除制定文件夹下,当前日期3个月以前的文件
希望有确认日期的显示
或者说删除N天前的文件

Set fso = CreateObject("scripting.filesystemobject")
folder="." '文件夹路径,点为当前路径
set fol=fso.getfolder(Folder)
for each i in fol.files
datefile = fso.getfile(i).Datelastmodified
dt=datediff("m",datefile,now)
if datevalue(datefile)<=datevalue(dateadd("m",dt-3,now)) then fso.deletefile i
next

'经测试.凡是3个月之前的文件都会被删除
'保存为vbs类型文件
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-21
如果是数据库备份等每天只有一个文件的情况,如下批处理保留最新的90个文件。
@echo off
set n=90
pushd d:\backup
for /f "skip=%n% tokens=*" %%i in ('dir/b/o-d') do rd "%%i"

如果每天文件数不一定的话,需要用vbs计算日期再删除,稍微复杂些,需要的话再追问或百度hi交流下追问

不是数据库备份
是删除过期文件

第2个回答  2012-05-21
@echo off
::需要Win2003/Vista/Win7系统自带的forfiles命令的支持
rem 指定待删除文件的存放路径
set SrcDir=C:\Test\Test
rem 指定天数
set DaysAgo=90
::如果演示没问题,请把下一行的 echo 删掉再运行,以便真正删除。
forfiles /p %SrcDir% /s /m *.* /d -%DaysAgo% /c "cmd /c echo del /f /q /a @path"
pause

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网