[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理如何删除7天前的文件

各位大侠,本人有个小小问题请各位赐教,我有一台电脑每天都要做备份,会以文件夹的形式排列,但是由于硬盘内容有限,所以只需保存当天在内的前七天内容,所以我想请问怎样做批处理可以按日期删除当天前第八天内容!

这是每日备份的批处理:
  1. @echo off
  2. set mm=%date:~7,2%
  3. set dd=%date:~4,2%
  4. set yy=%date:~10,4%
  5. md f:\Backup\fobackup\Fo-daily-%mm%-%dd%-%yy%
复制代码
我电脑里的备份依次就是 fo-daily-09-05-2009 fo-daily-09-06-2009 fo-daily-09-07-2009 fo-daily-09-08-2009 fo-daily-09-09-2009 fo-daily-09-10-2009 fo-daily-09-11-2009 fo-daily-09-12-2009

如果今天是9月12号,我就想批处理自动会将9月5号的内容删除!

请问这应该怎么解决?
谢谢!

补充一下,在文件里面还有子文件夹 也要一起删除!谢谢!

TOP

请大家帮帮忙!谢谢!

TOP

这是我根据网上教程改的,但就是很奇怪 出错了,但是没有任何提示!
请各位告知!

谢谢!
  1. @echo off
  2. set SrcDir=F:\Backup\checkbackup
  3. set DaysAgo=5
  4. forfiles /p %SrcDir% /s /m *.* /d -%DaysAgo% /c "cmd /c del /f /q /a @path"
  5. pause
复制代码

TOP

调试成功后把echo rd /q /s前的echo去掉
  1. @echo off
  2. set mm=%date:~7,2%
  3. set dd=%date:~4,2%
  4. set yy=%date:~10,4%
  5. md f:\Backup\fobackup\Fo-daily-%mm%-%dd%-%yy%
  6. ::前面是楼主原来的代码
  7. set file=s_date.txt
  8. if not exist %file% (echo %mm%-%dd%-%yy% >%file%)
  9. set /p s=<%file%
  10. for /f "tokens=1-6*" %%1 in ("%s%") do (
  11.     if "%%1" neq "%mm%-%dd%-%yy%" (
  12.     echo %mm%-%dd%-%yy% %%1 %%2 %%3 %%4 %%5 %%6>%file%
  13.     for %%a in (%%7) do echo rd /q /s "f:\Backup\fobackup\Fo-daily-%%a"
  14.     )
  15. )
复制代码

TOP

本人想问一下,我把格式改一下,是否还是可以使用?
  1. @echo off
  2. set mm=%date:~7,2%
  3. set dd=%date:~4,2%
  4. set yy=%date:~10,4%
  5. set file=s_date.txt
  6. if not exist %file% (echo %dd%-%mm%-%yy% >%file%)
  7. set /p s=<%file%
  8. for /f "tokens=1-6*" %%1 in ("%s%") do (
  9.     if "%%1" neq "%dd%-%mm%-%yy%" (
  10.     echo %dd%-%mm%-%yy% %%1 %%2 %%3 %%4 %%5 %%6>%file%
  11.     for %%a in (%%7) do echo rd /q /s "f:\Backup\fobackup\Fo-daily-%%a"
  12.     )
  13. )
复制代码
为什么要建立一个txt的文件呢?
  1. @echo off
  2. set SrcDir=F:\Backup\checkbackup
  3. set DaysAgo=7
  4. forfiles /p %SrcDir% /s /m *.* /d -%DaysAgo% /c "cmd /c del /f /q /a @path"
  5. pause
复制代码
这个批处理可以使用吗?怎样才可以删除里面的子文件夹呢?

问题比较多!谢谢!

TOP

批处理删除指定天数日期之前的文件
http://bbs.bathome.net/thread-3334-1-1.html

批处理删除指定天数日期之前的文件夹
http://bbs.bathome.net/thread-3503-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表