20

次のコマンドは、1 つのタイプのファイルで正常に機能します。

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

複数のファイル拡張子でフィルタリングすることはできますか? *.exe*.dll*.xyz?

4

2 に答える 2

17

私が望んでいたほど良くはありませんが、このワンライナーは役に立ちます. ただし、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

ディレクトリ構造を 1 回のパスでトラバースし、各ファイル拡張子を . でテストすることもできます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 に答える