20

以下命令适用于一种类型的文件,

forfiles -p "C:abc\del" -s -m *.exe -d -70 -c "cmd /c echo @path"

是否可以通过多个文件扩展名进行过滤?*.exe, *.dll, *.xyz?

4

2 回答 2

17

没有我希望的那么好,但这个 oneliner 可以提供帮助。但是请注意,您不能使用 * 作为过滤器,因为在这种情况下 IN 函数会开始选择文件。

for %G in (.exe, .dll, .xyz) do forfiles -p "C:abc\del" -s -m *%G -d -70 -c "cmd /c echo @path"

以此作为参考

于 2012-07-30T10:41:00.183 回答
6

也可以一次遍历目录结构并使用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",因为整个命令都在一个字符串中。

于 2016-02-23T00:03:19.510 回答