web-dev-qa-db-ja.com

Robocopyですべてのフォルダーをドロップしてフォルダーツリーからファイルをコピーする方法

次のフォルダー構造があります。

FolderA
-Folder1
-Folder2
-Folder3
...
-Folder99

フォルダ1〜99にはファイルが含まれています。

私がやりたいのは、すべてのファイルを1つのフォルダにコピーし、基本的にはFolderAコピーを実行し、すべてのファイルを保持しているフォルダ1〜99を消去することです。

可能であればcmd.exeからRobocopyを使用して実行したい(Windows Server 2008)

33
roman m

robocopyを使用する理由特定のタスクに適したツールですが、これはそうではありません。

cmdがすでに提供しているものを使用するだけです。

for /r %f in (*) do @copy "%f" target

これは基本的にディレクトリ階層を「フラット化」します。 for /rはディレクトリツリーを再帰的にウォークし、指定されたパターンに一致するファイル名を探します。開始するディレクトリを指定することもできます。

for /r FolderA %f in (*) do @copy "%f" target

ループ内では、指定されたフォルダーにファイルを単にコピーするだけです。

51
Joey

Robocopyは優れたツールです...仕事ができると、Robocopyはそれを処理できます。 xcopyを使用しないのはなぜですか?

2つのドライブがある場合は、xcopyを使用できます。

XCOPY  C:\*.*  D:\NewFolder\   /S

または、1つのドライブにXXCOPYを使用します。

XXCOPY C:\*.*  C:\NewFolder\   /S /CCY

[〜#〜] xxcopy [〜#〜]

3
NitroxDM
Get-ChildItem -Path source -Recurse -File | Move-Item -Destination dest
0
Sid