forfiles命令很像linux上的find命令,通常用于文件的批处理。
查看帮助forfiles /?
命令格式:
FORFILES [/P pathname] [/M searchmask] [/S]
[/C command] [/D [+ | -] {yyyy/MM/dd | dd}]
参数说明:
/p:指定搜索的根目录 默认是当前目录
/m:指定搜索的通配模式
/s:指示搜索的时候递归到目录里进行搜索匹配
/d:指定日期来搜索
有两种形式:
/d +2022/05/01 新于2022年5月1日的文件
/d -2022/05/01 旧于2022年5月1日的文件
/d -7 小于当前时间减去7天前的文件
/d +7
/c:为文件执行批处理命令。默认的命令是"cmd /c echo @file"
常见的变量:
@file 代表在指定搜索路径下搜索到的文件名
@fname 这个和第1个变量相比,搜索出来的不带后缀名,比如不带.txt
@ext 返回文件的扩展名
@path 返回文件名的完整路径
@relpath 返回相对于当前目录的相对路径
@isdir 如果搜索到文件是目录类型用true作为返回值,否则返回false值
@fsize 单位是字节。返回是搜索到的文件的大小
@fdate :返回文件上一次修改的日期
@ftime:返回文件上一次修改的时间
删除windows上oracle
forfiles /p . /m cdmp* /d -2020/06/17 /c "cmd /c del /Q @file"