介绍
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(删除文件)
总结
备注: 作者: 博客: 本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。 《欢迎交流讨论》 |