介绍
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:backupdata”目录下名称包含“--”,且修改时间大于15天的文件或者文件夹
forfiles.exe /p d:ackupdata /m *-*-* /d -15 /c "cmd /c echo @path"
2.删除,/s/q(/s文件夹下存在文件也删除,/q强制删除不提示)
forfiles.exe /p d:ackupdata /m *-*-* /d -15 /c "cmd /c rd /s/q @path"
备注:路径不支持"\url"这种共享路径,rd(删除文件夹),del(删除文件)
总结
备注: 作者:pursuer.chen 博客:http://www.cnblogs.com/chenmh 本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。 《欢迎交流讨论》 |