6

Как мне скопировать все файлы в папке и все файлы в ее подпапках в одну папку на XP?

3 ответа3

12

Предполагая, что все имена уникальны, вы сможете использовать эту команду (действительно, группа команд):

for /f "tokens=*" %a in ('dir /b /s /a-d') do @copy "%a" "c:\Single-Folder"

Чтобы уточнить - откройте командную строку и в корневой папке папки с подпапками, которые вы хотите скопировать, выполните эту команду. Так, например, если вы хотите скопировать все в «C:\Sample Folder Tree» и всех его подкаталогах, вы можете перейти в «C:\Sample Folder Tree» из командной строки и затем запустить эту команду.

Или вы можете просто указать это в разделе dir следующим образом:

for /f "tokens=*" %a in ('dir /b /s /a-d "c:\Sample Folder Tree"') do @copy "%a" "c:\Single-Folder"

Если вы хотите увидеть, как это будет происходить без каких-либо действий, добавьте «@echo» между do и copy - вот так:

for /f "tokens=*" %a in ('dir /b /s /a-d "c:\Sample Folder Tree"') do @echo copy "%a" "c:\Single-Folder"
2
 robocopy c:/here c:/there/ /S /COPYALL

Это работает. Это требует администрирования cmd, если вы не хотите /copyall (который копирует разрешения и я думаю, что метки времени вместо создания новых меток времени).

Есть Robocopy для XP и доступны на Vista и Windows 7. Копирование работает достаточно хорошо, хотя. Мне нравится robocopy, поскольку он не будет повторно копировать одни и те же файлы, если у dest есть копия (допустим, вы прерваны из-за перебоя в питании или хотите выключиться и спать)

-1

Вы можете использовать утилиту каталогизации дисков SuperCat.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .