曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 3545|回复: 0
打印 上一主题 下一主题

[实例.系统] bat批处理删除指定N天前的文件

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
跳转到指定楼层
楼主
发表于 2015-10-30 11:12:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Windows下bat批处理,自动获取文件的最后修改时间,然后将指定多少天之前的文件删除,需要Windows支持forfiles命令,XP及以上系统都自带forfiles命令。

       删除指定目录下7天前的文件(目录为C:\test):

forfiles /p "c:\test" /s /m *.* /d -7 /c "cmd /c del @path"
       删除批处理文件当前目录下7天前的文件:

forfiles /p %~dp0 /s /m *.* /d -7 /c "cmd /c del @path"
       将以上其中一行复制,新建文本文件,粘贴并保存为bat格式,定期运行或者加入计划任务。
上面代码不会删除余下的空目录,如果要清理干净(文件和目录都删除),可以考虑下面代码:
  1. @echo off

  2. forfiles /p "F:\QQMusicCache" /s /m *.* /d -7 /c "cmd /c del /Q @path"

  3. for /f "delims=" %%a in ('dir /ad /b /s F:\QQMusicCache\^|sort /r') do (
  4.         rd "%%a">nul 2>nul
  5. )

  6. pause
复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-6-17 16:22 , Processed in 0.077662 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表