自动删除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加入到任务计划程序中
开始-->所有程序-->附件-->系统工具-->任务计划程序
任务计划程序(本地)-->任务接话程序库-->创建基本任务-->