批处理bat问题:删除一个文件夹下所有子文件夹下指定时间前的文件

我的backup文件夹下会每天根据当天时间生成,backup2013620子文件夹,比如今天会生成backup2013621子文件夹,我想建立一个批处理,每天执行,删除b... 我的backup文件夹下会每天根据当天时间生成,backup2013620子文件夹,比如今天会生成backup2013621子文件夹,我想建立一个批处理,每天执行,删除backup文件夹下7天前生成的子文件夹 展开
 我来答
xxpinqz
2013-06-21 · TA获得超过1323个赞
知道小有建树答主
回答量:1055
采纳率:0%
帮助的人:1314万
展开全部

要是有个2013111,这是11月1号,还是1月11号????????,本身这样做备份文件名就不太合理的,要做也做成yyyymmdd全用8位格式的.

下面代码是比较文件的创建时间来处理,不是比较文件夹名称上的时间

测试结果正确后删除第6行的echo 

@echo off
for /f "tokens=1-3 delims=/- " %%a in ("%date%")do set/a y=%%a,m=1%%b%%100,d=1%%c%%100,"m=(m+9)%%12,y-=m/10+1900,i=365*y+y/4+(m*153+2)/5+d-1"
for /f "tokens=1,4" %%i in ('dir /tc/ad backup*^|find "<DIR>"') do (
  setlocal enabledelayedexpansion
  for /f "tokens=1-3 delims=/- " %%a in ("%%i")do set/a y=%%a,m=1%%b%%100,d=1%%c%%100,"m=(m+9)%%12,y-=m/10+1900,i-=365*y+y/4+(m*153+2)/5+d-1"
  if !i! gtr 7 echo rd /s/q "%%j"
  endlocal
)
pause&exit /b
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式