| |
老树新花说DOS(4) |
责任编辑:zhf |
| [04-4-19 10:38]
| 作者:李学昌
| 命令: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”的格式。
|