Robocopy — копирование каталога в другой каталог

Robocopy — копирование каталога в другой каталог

Не могу поверить, что у меня возникли проблемы с копированием каталога в другой каталог через командную строку Windows.

Я хочу сделать простое:

Допустим, у меня есть каталог:

C:\test

и я хочу скопировать тест на диск D: Итак, на диске D должна быть папка следующего вида:

D:\test

когда я использую

robocopy C:\test D:\test \E

В корне диска D оказывается содержимое C:\test, а не каталога с именем test.

Как сделать эту простую вещь?

решение1

Если вы хотите создать точную копию, используйте следующую версию (что эквивалентно добавлению /E и /PURGE):

robocopy c:\source d:\destination /MIR

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

robocopy c:\source d:\destination /E

Вас смущает обратная косая черта в опции E.

Чтобы узнать больше о Robocopy, вот удобный поиск:

http://www.google.com?q=robocopy+syntax

решение2

Мне кажется, что использование robocopyв предыдущих ответах на самом деле не отвечает на вопрос, а именно на копирование исходной папки со всем ее содержимым в папку назначения.

Вот что сработало для меня. Он сохраняет даты создания и регистрирует действия как в файле, так и на экране. Он также повторяет попытки прочитать файл до 5 раз, если он недоступен. Можете свободно изменять флаги в соответствии со своими потребностями.

robocopy 'G:\Some Directory\A ' 'E:\Some Directory\A ' /e /dcopy:T /mt /tee /log:A.log /r:5

Два наблюдения, которые показались мне неочевидными:

  • Строки пути должны заканчиваться пробелом, чтобы в месте назначения был создан исходный корневой каталог, а не только его содержимое без содержащего его каталога.
  • Корневой каталог в месте назначения должен находиться в пути назначения, даже если он не закрыт до выполнения команды.
    • Первоначальная дата создания корневого каталога при этом сохранится.

Я нахожу удивительным, что операция, о которой так часто спрашивают, не документирована должным образом.

решение3

Используйте Robocopy (надежное копирование файлов)

robocopy c:\test d:\test /s /e *.*

переключатель для копирования всехподкаталогии переключатель предназначен для копирования всехпустые подкаталоги&*.*означает (все файлы).(любые расширения)

синтаксис:

robocopy source-folder destination-folder files switches

Пожалуйста, посетитеэтотссылка для получения дополнительной информации о робокопия.

решение4

Хотя в этом ответе не используется robocopy, я думаю, что он все равно выполняет задачу копирования каталогов.

Вы можете попробовать использовать:xcopy

Использование:xcopy source [destination] ...

Более подробную информацию вы можете получить, выполнив командускопировать /?

Источник:КАК: скопировать папку в другую папку и сохранить ее разрешения.

Связанный контент