ディレクトリ構造を保ったまま特定のファイルをコピーする(1)PowerShell久々の記事です。更新なくてごめんなさい。問題になる、ディレクトリ構造を保ったままの特定ファイルのコピーです。続編についてこの記事中の方法は効率面でよろしくないため、事前にコピー対象をフィルタしてから実行するものを用意しました。使うことで容易に可能です。いうフォルダがこういった構造だとしましょう。移動したい場合は、単純です。スイッチを付けて、対象のパスを指定するだけで完了です。-Recurse特定のファイルだけコピーするでは、特定のファイルだけ、コピーしてみましょう。初めに、ディレクトリ構造を維持せずに、そのファイルを指定先にコピーする場合です。存在するフォルダならこれでいいです。install.batしかし、もし存在しないフォルダだった場合はダメです。いう「ファイル名」でコピーされてしまいます。ない状態からダメだよと怒られます。一部が見つかりませんでした。System.IO.DirectoryNotFoundException,Microsoft.PowerShell.Commands.CopyItemCommandつまり、コピー先を保証する必要があるのです。そのため、先にコピー先フォルダを作成しておくのがいいでしょう。付けることで、すでに存在していてもエラーを出すことなくディレクトリ生成を保証できます。うまくコピーできましたね。複数のファイルをディレクトリ構造を平坦化してコピーする特定のフォルダにあるファイルを、階層を問わず平坦化してコピーするのも容易です。やる必要があるかは別として。ようは、コピー元がなんであっても、コピー先が同一フォルダとすればいいのです。