Как скопировать файлы из дерева папок, удалив все папки с помощью Robocopy?
У меня есть следующая структура папок:
FolderA
--Folder1
--Folder2
--Folder3
...
--Folder99
Папки с 1 по 99 содержат файлы в них.
Все, что я хочу сделать, это скопировать ВСЕ ФАЙЛЫ в ОДНУ ПАПКУ, в основном сделать копию FolderA и уничтожить Folders 1-99, сохраняя все файлы.
Я хотел бы сделать это с помощью Robocopy из cmd.exe, если это возможно (Windows Server 2008)
Ответы
Ответ 1
Зачем использовать robocopy
? Это хороший инструмент для конкретной задачи, но это не тот.
Вы можете просто использовать то, что уже дает cmd
:
for /r %f in (*) do @copy "%f" target
Это по существу "сгладит" вашу иерархию каталогов. for /r
будет рекурсивно перемещаться по дереву каталогов, ища имена файлов, соответствующие заданному шаблону. Вы также можете указать начальную директорию:
for /r FolderA %f in (*) do @copy "%f" target
Внутри цикла это просто просто копия файла в указанную папку.
Ответ 2
Robocopy - отличный инструмент... когда у вас есть работа, с которой он может справиться. Почему бы не использовать xcopy?
Если у вас есть два диска, вы можете просто использовать xcopy:
XCOPY C:\*.* D:\NewFolder\ /S
Или используйте XXCOPY для одного диска:
XXCOPY C:\*.* C:\NewFolder\ /S /CCY
XXCOPY
Ответ 3
Get-ChildItem -Path source -Recurse -File | Move-Item -Destination dest