window使用bat定期删除超过指定天数的文件
定期删除windows指定目录下的超过指定天数的文件,可以使用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加入到任务计划程序中
开始-->所有程序-->附件-->系统工具-->任务计划程序
任务计划程序(本地)-->任务接话程序库-->创建基本任务-->