フォルダ/ディレクトリ構造のみをコピーし、中のファイルはコピーしたくない場合があります。たとえば、2021年から2022年の会計年度にフォルダを作成していて、ファイルを整理していて、2022年から2023年も同じフォルダ構造で行いたい場合があります。
ファイルをコピーせずにフォルダ構造をコピーする場合、ネイティブGUIベースでのの方法はありません。ただし、XCOPY および Robocopy コマンドラインや、 PowerShell コマンドレットを使用してフォルダ構造だけを複製することができます。サブディレクトリも複製されます。今回はその方法をご紹介します。
フォルダー構造は、コマンド プロンプトと Windows PowerShell の両方を使用してコピーできます。Windows グラフィカルユーザーインターフェイス (GUI) を使用したい場合は、現在、Windows でそれを行う一般的な方法はありません。ただし、一部のフォルダ管理ソフトなどではそれらの機能がある場合があります。
1.コマンドプロンプト
XCOPYは、すべてのWindowsバージョンにプレインストールされているWindowsコマンドラインツールです。ファイルやフォルダーの移動を操作するために使用できるオプションスイッチは多数ありますが、今回はこの2つのオプションスイッチをご紹介します。
/t サブディレクトリ構造 (ツリー) のみをコピーし、ファイルはコピーしません。
/e すべてのサブディレクトリを空の場合でもコピーします。
フォルダーの構造をある場所から別の場所にコピーするには、管理者特権のコマンドプロンプトで次の構文を使用します。
xcopy "[コピー元のディレクトリ]" "[コピー先のディレクトリ]" /t /e
[コピー元のディレクトリ] [コピー先のディレクトリ]はフォルダーの完全なパスで記載します。
Robocopy は、XCOPY よりも多くのオプションスイッチがありより機能的ですが、今回はXCOPYで行ったのと同じことをRobocopyで行う方法をご紹介します。
ここでは、次の2つのオプションスイッチを使用します。
/e サブディレクトリをコピーします。このオプションには、空のディレクトリが自動的に含まれます。
/xf [フォルダ(ファイル)名] 指定した名前またはパスに一致するフォルダ(ファイル)を除外します。ワイルドカード文字 (* と ?) がサポートされています。
フォルダーの構造をある場所から別の場所にコピーするには、管理者特権のコマンド プロンプトで次の構文を使用します。
Robocopy "[コピー元のディレクトリ]" "[コピー先のディレクトリ]" /e /xf *
[コピー元のディレクトリ] [コピー先のディレクトリ]はフォルダーの完全なパスで記載します。
出力の最後には、ディレクトリ移動の統計レポートも表示され、成功したディレクトリ コピーと失敗したディレクトリ コピーのプロンプトが表示されます。
2.PowerShell から
Windows PowerShell を使用して、フォルダーの構造を内部にファイルなしで別の場所にコピーすることもできます。ただし、この方法では、ソース ディレクトリのサブフォルダーではなく、ソース フォルダー全体がコピー先ディレクトリにコピーされます。
「TestFolder」のフォルダ構造を「WorkFolder」に複製しました。ただし、PowerShell メソッドを使用すると、"TestFolder" ディレクトリ全体がファイルなしで "WorkFolder" ディレクトリにコピーされます。
フォルダーの構造を別の場所にコピーするには、管理者特権の PowerShell で次のコマンドを使用します。
Copy-Item -LiteralPath "[コピー元のディレクトリ] " -Destination "[コピー先のディレクトリ]" -Recurse -Filter {PSIsContainer -eq $true}
[コピー元のディレクトリ] [コピー先のディレクトリ]はフォルダーの完全なパスで記載します。
コメント