Как скопировать файлы из дерева папок, сбросив все папки с помощью Robocopy? - PullRequest
32 голосов
/ 01 октября 2009

У меня следующая структура папок:

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

В папках с 1 по 99 есть файлы.

Все, что я хочу сделать, это скопировать ВСЕ ФАЙЛЫ в ОДНУ ПАПКУ, в основном сделать копию FolderA и уничтожить папки 1-99, сохраняя все файлы.

Я бы хотел сделать это с Robocopy из cmd.exe, если это возможно (Windows Server 2008)

Ответы [ 3 ]

50 голосов
/ 01 октября 2009

Зачем использовать robocopy? Это хороший инструмент для конкретной задачи, но это не тот.

Вы можете просто использовать то, что cmd уже дает вам:

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

Это существенно сгладит иерархию каталогов. for /r будет рекурсивно обходить дерево каталогов в поисках имен файлов, соответствующих заданному шаблону. Вы также можете указать каталог для запуска:

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

В цикле это просто копирование файла в указанную папку.

3 голосов
/ 01 октября 2009

Robocopy - отличный инструмент ... когда у вас есть работа, с которой он может справиться. Почему бы не использовать xcopy?

Если у вас есть два диска, вы можете просто использовать xcopy:

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

Или используйте XXCOPY для одного диска:

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

XXCOPY

0 голосов
/ 05 октября 2017
Get-ChildItem -Path source -Recurse -File | Move-Item -Destination dest
...