Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using forfiles with multiple file types for search mask?

Tags:

Following command works fine with one type of files ,

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

Is it possible filter through multiple file extensions? *.exe, *.dll, *.xyz?

like image 732
mini998 Avatar asked Jul 30 '12 10:07

mini998


2 Answers

Not as nice as I hoped for but this oneliner can help out. Notice however that you can't use * as a filter because the IN function starts selecting files in that case.

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

Used this for reference.

like image 124
rene Avatar answered Sep 22 '22 17:09

rene


It's also possible to traverse the directory structure in a single pass and test each file extension with an IF.

forfiles -p c:\ -s  -c "cmd /c (if @ext==\"exe\" echo @path) & ( if @ext==\"dll\" echo @path) &  ( if @ext==\"xyz\" echo @path)"

Just remember to escape the inner quotes \"dll\" instead of "dll", because the whole command is in a single string.

like image 39
Farsee Avatar answered Sep 22 '22 17:09

Farsee