次のフォルダー構造があります。
FolderA
-Folder1
-Folder2
-Folder3
...
-Folder99
フォルダ1〜99にはファイルが含まれています。
私がやりたいのは、すべてのファイルを1つのフォルダにコピーし、基本的にはFolderAコピーを実行し、すべてのファイルを保持しているフォルダ1〜99を消去することです。
可能であればcmd.exeからRobocopyを使用して実行したい(Windows Server 2008)
robocopy
を使用する理由特定のタスクに適したツールですが、これはそうではありません。
cmd
がすでに提供しているものを使用するだけです。
for /r %f in (*) do @copy "%f" target
これは基本的にディレクトリ階層を「フラット化」します。 for /r
はディレクトリツリーを再帰的にウォークし、指定されたパターンに一致するファイル名を探します。開始するディレクトリを指定することもできます。
for /r FolderA %f in (*) do @copy "%f" target
ループ内では、指定されたフォルダーにファイルを単にコピーするだけです。
Robocopyは優れたツールです...仕事ができると、Robocopyはそれを処理できます。 xcopyを使用しないのはなぜですか?
2つのドライブがある場合は、xcopyを使用できます。
XCOPY C:\*.* D:\NewFolder\ /S
または、1つのドライブにXXCOPYを使用します。
XXCOPY C:\*.* C:\NewFolder\ /S /CCY
Get-ChildItem -Path source -Recurse -File | Move-Item -Destination dest