以下命令适用于一种类型的文件,
forfiles -p "C:abc\del" -s -m *.exe -d -70 -c "cmd /c echo @path"
是否可以过滤多个文件扩展名? *.exe
,*.dll
,*.xyz
?
答案 0 :(得分:16)
不像我希望的那样好,但这个oneliner可以提供帮助。但请注意,您不能使用*作为过滤器,因为IN函数在这种情况下开始选择文件。
for %G in (.exe, .dll, .xyz) do forfiles -p "C:abc\del" -s -m *%G -d -70 -c "cmd /c echo @path"
使用this作为参考。
答案 1 :(得分:3)
也可以在一次传递中遍历目录结构,并使用IF
测试每个文件扩展名。
forfiles -p c:\ -s -c "cmd /c (if @ext==\"exe\" echo @path) & ( if @ext==\"dll\" echo @path) & ( if @ext==\"xyz\" echo @path)"
请记住要转义内部引号\"dll\" instead of "dll"
,因为整个命令都在一个字符串中。