web-dev-qa-db-ja.com

ファイルをコピーせずにディレクトリ構造をコピーする方法

たくさんのサブフォルダとファイルを含むフォルダがあります。 cmdやpowershellを使用して、フォルダやサブフォルダのディレクトリ構造をコピーせずにコピーする方法はありますか?

45
Rook

空のフォルダもコピーしたい場合。

xcopy C:\ Folders D:\ Folders/t/e

42
Michael Mantion

うん。 XCOPY

XCopy source {destination}  /t

xcopy C:\Folders D:\Folders /t

xcopyについての詳細はこちら http://ss64.com/nt/xcopy.html

28
BroScience

XCOPYはまだ機能しますが、Windows Vista以降には、より多くの機能を持つROBOCOPYが含まれています。ファイルなしでフォルダツリー(空のフォルダを含む)をコピーするための一般的な構文は次のとおりです。

robocopy "A:\Source folder" "B:\Destination folder" /e /xf *

18
Theodore

各ファイルをコピーしてからそれらを削除する必要のないPowerShellメソッド。

Copy-Item -LiteralPath '.\source' -Destination 'C:\path\to\copy' -Recurse -Filter {PSIsContainer -eq $true}

もっと簡潔に言うと:

copy .\source C:\path\to\copy -r -fi PSIsContainer

ここでの唯一の興味深いトリックはPSIsContainerプロパティのフィルタリングです。これはディレクトリには当てはまりますがファイルには当てはまりません。

2
Ben N

47foldersアプリ、無料の便利なWindowsツールを見てください。まさにあなたがNice GUIを通して必要なことをします。 enter image description here

警告:以前のリンク( http://47foldersapp.com/ )は現在(2017年11月)、衣類の宣伝につながっています。最後の良いインターネットアーカイブのコピーはここ です 。ソフトウェアはまだこのような このようなフリーウェアのダウンロードサイトから入手可能かもしれません

1
andymcgregor

それを行うにはPowerShellを使用してください。フォルダのコピーを作成してからRemove-Item -Path "C:\test\*.*" -recurse

0
user1586957

私はただフリーウェアMiroirsを使いました。それは内容ではなくフォルダーだけをコピーしたものです(それはオプションです)。

http://www.scanialabs.com/Products/Miroirs/Miroirs.aspx

0
user263693

おそらくもっと良い解決策がありますが、私はこれらを見たいと思います:

  • すべてをコピーしてから、スクリプトでフォルダを空にします。

  • 拡張子がない場合はすべてをコピーするスクリプトを作成してください。拡張子のないファイルがフォルダ内に存在しないのであれば、それは機能しないはずです。フォルダには拡張子がありません。擬似コードではこんな感じになるでしょう。

open_directory($ path);
while($ file = get_directory_content){
if(empty(get_file_extension($ file))){
copy_the_file($ file、$ destination);
}
}
close_directory;

0
Ariane