forfiles命详解.doc

上传人:博****1 文档编号:555181670 上传时间:2022-11-06 格式:DOC 页数:8 大小:42.50KB
返回 下载 相关 举报
forfiles命详解.doc_第1页
第1页 / 共8页
forfiles命详解.doc_第2页
第2页 / 共8页
forfiles命详解.doc_第3页
第3页 / 共8页
forfiles命详解.doc_第4页
第4页 / 共8页
forfiles命详解.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《forfiles命详解.doc》由会员分享,可在线阅读,更多相关《forfiles命详解.doc(8页珍藏版)》请在金锄头文库上搜索。

1、forfiles命令详解分类: WINDOWS删除三天前的文件forfiles /p i:serverbak2005 /s /m *.* /d -2 /c cmd /c del file说明:forfiles是2003自带的命令,非常好用,详细可以forfiles/?查询。可以复制到XP中使用,复制到2000中测试失败。forfiles: /p 指定的路径 /s 包括子目录 /m 查找的文件名掩码 /d 指定日期,有绝对日期和相对日期, 此处-7指当前日期 的7天前/c 运行的命令行 表示为每个文件执行的命令。命令字符串应该用双引号括起来。 默认命令是 cmd /c echo file。下列变

2、量可以用在命令字符串中:file - 返回文件名。 fname - 返回不带扩展名的文件名。ext - 只返回文件的扩展。 path - 返回文件的完整路径。 relpath - 返回文件的相对路径。isdir - 如果文件类型是目录,返回 TRUE; 如果是文件,返回 FALSE。 fsize - 以字节为单位返回文件大小。 fdate - 返回文件上一次修改的日期。 ftime - 返回文件上一次修改的时间。示例要列出驱动器 C: 上的所有批处理文件,请键入:forfiles /p c: /s /m*.bat /ccmd /c echo file is a batch file要列出驱动器

3、 C: 上的所有目录,请键入:forfiles /p c: /s /m*.* /ccmd /c if isdir=true echo file is a directory要列出驱动器 C: 上存在时间多于 100 天的所有文件,请键入:forfiles /p c: /s /m*.* /dt-100 /ccmd /c echo file :date = 100 days要列出驱动器 C: 上 1993 年 1 月 1 日以前创建的所有文件,而且对于日期早于 1993 年 1 月 1 日的文件显示“file is quite old!”,请键入:forfiles /p c: /s /m*.* /

4、dt-01011993 /ccmd /c echo file is quite old!要按列格式列出驱动器 C: 上所有文件的扩展名,请键入:forfiles /p c: /s /m*.* /c cmd /c echo extension of file is 0x09ext0x09 With:要列出驱动器 C: 上的所有批处理文件,请键入:forfiles /p c: /s /m *.bat /c cmd /c echo file is a batch file要列出驱动器 C: 上的所有目录,请键入:forfiles /p c: /s /m *.* /c cmd /c if isdir=

5、true echo file is a directory要列出驱动器 C: 上存在时间多于 100 天的所有文件,请键入:forfiles /p c: /s /m *.* /d t-100 /c cmd /c echo file :date = 100 days要列出驱动器 C: 上 1993 年 1 月 1 日以前创建的所有文件,而且对于日期早于 1993 年 1 月 1 日的文件显示“file is quite old!”,请键入:forfiles /p c: /s /m *.* /d t-01011993 /c cmd /c echo file is quite old!要按列格式列出

6、驱动器 C: 上所有文件的扩展名,请键入:forfiles /p c: /s /m*.* /c cmd /c echo extension of file is 0x09ext0x09使用forfiles自动批量删除过期文件 2012-02-23 17:48:02 我来说两句 收藏 我要投稿 ftp服务器用于保存备份文件,但是也不需要每天的数据都留着,于是乎为了考虑节省硬盘空间,就必须删除一些老文件,只要保存最近一周或者一个月的就可以了windows自带了一个批量删除的程序,叫做forfiles,XP里貌似没有,博文最下面附件可以下载首先说一下我的应用吧,ftp服务器端每天备份数据文件后,只想

7、保存最近两周的文件编写一个bat文件,内容如下写道echo offrem write to logset filename=deletefile.logecho -Delete Expired Log Files- %filename%echo Start %filename%echo (%date% %time%) %filename%echo Delete the expired log files in 目标目录路径1, Please wait. %filename%forfiles.exe /p D:Kugou /m *.tar /d -14 /c cmd /c del pathech

8、o End %filename%echo (%date% %time%) %filename%不好意思,脚本是抄别人的,来自http:/ /p D:Kugou /m *.tar /d -14 /c cmd /c del path这条命令的意思就是,搜索D:/Kugou目录下的任意后缀名为tar的文件,查看其日期属性是否为14天之前的(-14表示之前,+14表示之后),然后执行删除命令一开始一直在纠结这日期格式是怎么弄的,是不是forfiles是通过匹配文件名来删除的,结果一直在改文件名的日期显示格式,后来才发现偶智商如此低下,人家forfiles是windows自带的,尼玛明显能够智能的匹配文

9、件日期属性啊。所以说,只要这个文件的日期属性是14天之前的,就会被上述脚本删除。然后在添加任务计划。下面帖一下forfiles的参数用法,来自http:/ /p Path /m SearchMask /s /c Command /d + | - MM / DD / YYYY | DD 参数/p Path指定Path ,表明要从哪里开始搜索。默认的文件夹是当前工作目录,该目录通过键入句号(.) 指定。/m SearchMask按照SearchMask 搜索文件。默认的SearchMask 是*.* 。/s指示forfiles 在子目录中搜索。/c Command在每个文件上运行指定的Comman

10、d 。带有空格的命令字符串必须用引号括起来。默认的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无

11、扩展名的文件名ext文件扩展名path文件的完整路径relpath文件的相对路径isdir如果文件类型是目录,则计算值为TRUE,否则值为FALSEfsize用字节表示的文件大小fdate文件中上次修改的日期戳ftime文件中上次修改的时间戳 使用forfiles ,可以在多个文件上运行命令或将参数传递给多个文件。例如,可以在树中带有*.txt 扩展名的所有文件上运行TYPE 命令。或者,可以用文件名“Myinput.txt”作为第一个参数,在C:/ 驱动器上执行每个批处理文件(*.bat)。 通过使用forfiles ,可以执行下列任何操作: 使用/d 按照绝对或相对日期选择文件。 使用诸如

12、fsize(文件大小)和fdate(文件日期)这样的变量构建文件的存档树。 使用isdir 变量区分文件和目录。 通过在命令行中包含特殊字符和使用十六进制代码0x HH 环绕字符来格式化输出内容。 Forfiles 通过在旨在仅处理单个文件的工具上执行“循环子目录”标记来发挥作用。示例要列出驱动器C: 上的所有批处理文件,请键入:forfiles /p c:/ /s /m*.bat /ccmd /c echo file is a batch file要列出驱动器C: 上的所有目录,请键入:forfiles /p c:/ /s /m*.* /ccmd /c if isdir=true echo

13、file is a directory要列出驱动器C: 上存在时间多于100 天的所有文件,请键入:forfiles /p c:/ /s /m*.* /dt-100 /ccmd /c echo file :date = 100 days要列出驱动器C: 上1993 年1 月1 日以前创建的所有文件,而且对于日期早于1993 年1 月1 日的文件显示“file is quite old!”,请键入:forfiles /p c:/ /s /m*.* /dt-01011993 /ccmd /c echo file is quite old!要按列格式列出驱动器C: 上所有文件的扩展名,请键入:forfiles /p c:/ /s /m*.* /c cmd /c echo extension of file is 0x09ext0x09 With:要列出驱动器C: 上的所有批处

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号