質問: バッチファイルでの動作を考えています。 カレントディレクトリ(target)からサブディレクトリの階層はバラバラですが「test」とファイル名に含まれたファイルを探して、目標のディレクトリ(dest)にファイルのみをコピーをしたいです。 エラースキップやログを残したいため、ファイルのコピーにはrobocopyを利用したいと思っています。 よろしくお願いします。
回答: 以下の記事の応用で、`for`を利用すれば出来るでしょう。 「指定ディレクトリ」内の「任意の階層」にある「指定ディレクトリ名」内にある全ファイルを抽出したい こんな感じでしょうか。 ``` for /r TargetDir %I in (*test*.*) do robocopy %~pI DestDir %~nxI ``` 必要があればrobocopyコマンド指定の最後にファイル選択やログ出力先など細かい指定のオプションを追加してください。 ただし、フォルダ名やファイル名に空白が含まれていると、おかしなことが発生しそうなので、その辺は注意するか工夫してください。