当前位置:DOS资源站资料中心入门文章 → 与 FOR 相似的 Windows 2003 的新命令行工具 Forf

与 FOR 相似的 Windows 2003 的新命令行工具 Forf

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2008-5-31 22:07:55

命令:Forfiles

  功能:从文件夹或文件树中选择要进行批处理的文件,也就是说,它能将搜索到的文件作为参数传递给后面的DOS命令,从而对搜索到的文件进行改名、删除、复制等操作。与DOS下的“For…In…Do”作用类似,但功能更强大。

  语法:forfiles [/p Path] [/m SearchMask] [/s] [/c Command] [/d[{+ | -}]

   [{MM/DD/YYYY | DD}]]

  参数:/p Path——指定搜索路径,表明要从哪里开始搜索,默认的文件夹是当前工作目录;

  /m SearchMask——按照 SearchMask设置的文件名参数搜索文件。默认的 SearchMask 是.,即所有文件,可使用通配符(?和)。比如:.exe表示搜索所有扩展名是.exe的文件、e??.表示搜索首字符是e、主文件名只有3个字符的所有文件;

  /s——在所有的子目录中进行搜索;

  /c Command——对搜索到的每个文件上实施指定的命令。带有空格的命令字符串必须用引号括起来。默认的命令是“'cmd /c echo @file'”,即显示全称文件名,包括路径、主文件名、扩展名等;

  /d[{+ | -}] [{MM/DD/YYYY | DD}]——选择日期大于或等于 (+)或者小于或等于 (-)指定日期的文件。

  实例:①清除D盘下的所有扩展名是.tmp的文件,请键入以下命令:

  forfiles /p d: /m .tmp /s /c "cmd /c del @file"

  ②将D盘下的所有扩展名是.jpg的文件扩展名改为.gg:

  forfiles /p d: /m *.jpg /s /c "cmd /c ren @file *.gg"

  ③只查找并显示盘目录:

  forfiles /p c: /s /m .  /c "cmd /c if @isdir==true echo @file is a directory"

  该命令行可以将C盘下的所有目录查找出来,并显示为类似“XXXX is a directory”的格式。