window使用bat定期删除超过指定天数的文件

  定期删除windows指定目录下的超过指定天数的文件,可以使用bat文件加入到任务计划程序中。

  

  自动删除d:/test下超过7天的.bak的文件,bat内容如下

  forfiles /p "d:/test" /s /m *.bak /d -7 /c "cmd /c del @path"

  删除d:/test下超过7天的所有文件,包括目录,bat内容如下

  forfiles /p "d:/test" /s /m . /d -7 /c "cmd /c del @path"

 

  使用del是直接删除,不是到回收站。希望移动到回收站或者其他目录,可以使用move。

 

  forfiles [/p Path] [/m SearchMask] [/s] [/c Command] [/d[{+ | -}] [{MM/DD/YYYY | DD}]]

  参数 /p Path 指定 Path,表明要从哪里开始搜索。默认的文件夹是当前工作目录,该目录通过键入句号 (.) 指定。 注:绝对路径应该包含在双引号中,且路径应该由反斜杠分割:example:"D:\HOME\Desktop\62backup"

  /m SearchMask 按照 SearchMask 搜索文件。默认的 SearchMask 是 .

  例如:我们想搜索rar文件 可以写为 /m *.rar

  /s 指示 forfiles 在子目录中搜索。

  如果不加此参数,只操作制定目录下这一级,反之制定目录下所有层级目录中的文件都会被操作

  /c Command 在每个文件上运行指定的 Command。带有空格的命令字符串必须用引号括起来。默认的 Command 是 "cmd /c echo @file"。

  /d[{+ | -}] [{MM/DD/YYYY | DD}] 选择日期大于或等于 (+)(或者小于或等于 (-))指定日期的文件,其中 MM/DD/YYYY 是指定的日期,DD 是当前日期减去 DD 天。如果未指定 + 或-,则使用 +。DD 的有效范围是 0 - 32768。

  /? 在命令提示符下显示帮助。

  注释 Forfiles 最常用于批处理文件中。 Forfiles /s 与 dir /s 类似。 下表列出了在 /c Command 命令字符串中能够使用的变量。 变量 描述 @file 文件名 @fname 无扩展名的文件名 @ext 文件扩展名 @path 文件的完整路径 @relpath 文件的相对路径 @isdir 如果文件类型是目录,值为 TRUE,否则值为 FALSE @fsize 用字节表示的文件大小 @fdate 文件中上次修改的日期戳 @ftime 文件中上次修改的时间戳

 

  将bat加入到任务计划程序中

  开始-->所有程序-->附件-->系统工具-->任务计划程序

  任务计划程序(本地)-->任务接话程序库-->创建基本任务-->

  

 

 

  

posted on 2021-12-19 21:14  lnlvinso  阅读(4341)  评论(0编辑  收藏  举报