曲径通幽论坛

标题: bat批处理删除指定N天前的文件 [打印本页]

作者: beyes    时间: 2015-10-30 11:12
标题: bat批处理删除指定N天前的文件
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
复制代码






欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2