Windows forfiles(删除历史文件)

时间:2021-12-15 03:58:38

forfiles是windows自带的一个批量删除命令,对于时间的判断是通过文件自身的修改日期属性进行判断,使用它来对历史文件进行判断删除是个不错的选择。

语法

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

[/p Path ]:指定路径,当然目录可以用“.” [/m SearchMask ]:搜索方式,默认是*.* [/s ]:遍历子目录进行搜索,包括当前目录 [/d [{+ | - }] [{MM / DD / YYYY | DD }]]:选择日期大于或等于(+ )(或者小于或等于(- ))指定日期的文件,默认+ 其中MM / DD / YYYY 是指定的日期,DD 是当前日期减去DD 天,默认是DD 。DD 的有效范围是0 - 32768 例如: /d -15:查找15天之前的文件 /d 2016/12/9:指定查找的文件日期为2016/12/9 [/c Command ]:指定要执行的命令,格式为[ /c "cmd /c rd /s/q @path" ];双引号里面的/c后接需要执行的命令。 变量: @file 显示文件名 @fname 显示无扩展名的文件名 @ext 显示文件扩展名 @path 显示文件的完整路径 @relpath 文件的相对路径 @isdir 如果文件类型是目录,则计算值为TRUE,否则值为FALSE @fsize 显示用字节表示的文件大小 @fdate 显示文件中上次修改的日期戳 @ftime 显示文件中上次修改的时间戳

示例

1.查看“d:\backup\data”目录下名称包含“--”,且修改时间大于15天的文件或者文件夹

forfiles.exe /p d:\backup\data /m *-*-* /d -15 /c "cmd /c echo @path"

2.删除,/s/q(/s文件夹下存在文件也删除,/q强制删除不提示)

forfiles.exe /p d:\backup\data /m *-*-* /d -15 /c "cmd /c rd /s/q @path"

备注:路径不支持"\\url\"这种共享路径,,rd(删除文件夹),del(删除文件)

总结

备注: