Команда командной строки для копирования всего каталога (включая каталог) в другой каталог

используя командную строку, я хотел бы скопировать один каталог в другой. Например есть директория C:/test и C:/test2.

Я хотел бы скопировать C:/test на C:/test2 Так что результат будет C:/test2/test

все, что я нашел до сих пор будет только скопировать файлы и папки, содержащиеся в C:/test на C:/test2, но оставляет родительский каталог.

20
задан Scott Chamberlain
12.12.2022 14:14 Количество просмотров материала 3527
Распечатать страницу

10 ответов

попробуйте использовать XCOPY с /E переключатель. Более подробная информация здесь.

Я не имел доступа к этой информации из моего мозга в лет!

обновление

документация говорит, что копирует все файлы и подкаталоги из исходного каталога (это означает, что родительский каталог не создан), поэтому вам придется создать test in C:\test2 во-первых, а затем использовать XCOPY.

47
отвечен vivin 2022-12-13 22:02
xcopy c:\test c:\test2\test /s /e /h

вот информация по XCOPY [1,2]

29
отвечен Hastur 2022-12-14 00:19

используйте ROBOCOPY при создании скриптов резервного копирования. xcopy устарело и вероятно будет фазировано-из пользы в ближайшее время. robocopy может сделать все, что может xcopy. Он также более гибок и надежн. Создание скриптов с помощью robocopy обеспечит их защиту в будущем.


  1. используйте robocopy для простого копирования папок. Команда robocopy заменяет команду xcopy. Он может быстро копировать целые папки, не беспокоясь об определении содержание. Для пример, чтобы скопировать все содержимое C:\tools каталог в новую папку D:\backup\tools, введите следующее:

    robocopy C:\tools D:\backup\tools /e
    

    модификатор /e указывает robocopy включить все подкаталоги. Это включает пустые папки. программы автоматически копирует скрытые и системные файлы. Это создаст новые каталоги, если они не существуют в целевом расположении.

  2. зеркало каталог. Зеркальное отображение каталога отлично подходит для создания резервных копий. Вариант зеркала robocopy скопирует все содержимое из источника в место назначения. Затем он удалит все в месте назначения, которое не существует в источнике. Это гарантирует наличие в резервной копии только последних версий файлов. Например, к зеркалу C:\Users\My документы на D:\backup\My документы, введите следующее: [4]

    robocopy "C:\Users\My Documents" "D:\backup\My Documents" /mir
    

    эта функция сохранит все разрешения исходных файлов.

  3. включить перезапуск. Вы можете включить возможность перезапуска процесса в случае разрыва соединения mid-copy.

    robocopy "C:\Users\My Documents" "D:\backup\My Documents" /z
    
  4. зарегистрируйте процесс копирования. robocopy позволяет создать файл журнала. Это может помочь выявить проблемы или создать архив скопированных данных.

    robocopy "C:\Users\My Documents" "D:\backup\My Documents" /log+:<filename>.txt
    

    модификатор /log+ добавит существующий файл журнала вместо перезаписи. Если вы хотите просто перезаписать старый файл журнала, используйте /log:.формат txt.

13
отвечен Program-Me-Rev 2022-12-14 02:36

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

Robocopy должен быть добавлен на XP / 2003, но это стандартно с Vista и далее.

Я обычно использую xxcopy, но 64-битная версия не является бесплатным.

7
отвечен paradroid 2022-12-14 04:53
XCOPY SourceDrive: DestinationDrive: /S /E

например, если вам нужно скопировать E: анализ данных H: drive (внешний жесткий диск) через командную строку или из командной среды xboot.

xboot:\>XCOPY E:\ "H:\BackupFolder\" /S /E
4
отвечен Syed khalid Mohammed 2022-12-14 07:10

если исходный вопрос-это то, что я искал ответ, тогда я, и, очевидно, никто выше, не придумал четкого решения.

то, что я ищу, чтобы скопировать тестовый каталог в каталог test2 без необходимости вводить его снова. Что-то вроде

xcopy /isvy c:\test d:\test2

здесь d:\test2\test не существует до копии, но не после. Это позволит сэкономить на тесте miss-typing во второй раз в пути назначения. Вышеуказанная команда скопирует все файлы и любые каталоги в test2, но не будет создавать тестовый каталог.

пока

xcopy /isvy c:\test d:\test2\test

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

альтернатива исправить это

set mydir=test&&xcopy /isvy c:\%mydir% c:\test2\%mydir%

это устанавливает каталог назначения в mydir переменная затем использует эту переменную как в источнике, так и в назначении путь. Если вы введете переменную неправильно, вы либо получите ошибку, либо каталог назначения, вероятно, будет иметь % в начале и конце.

это больше, чтобы ввести, но меньше шансов получить неправильные имена. Они будут заметны.

1
отвечен Bill 2022-12-14 09:27
xcopy SWITCHES SOURCE DESTINATION

здесь SWITCHES можно:

  • скопировать всю структуру каталогов:

    /hiev

  • перезаписать файлы в месте назначения (если папка назначения уже существует):

    /hievry

  • , чтобы перезаписать, а также скопировать с ACL+атрибут:

    /hievxok

наиболее подходит для вашего случая:

xcopy /hievry C:\test C:\test2\test

0
отвечен NetwOrchestration 2022-12-14 11:44

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

во-первых, есть определенно случаи, когда нужно было бы эту способность, и я столкнулся с одним, когда я должен был скопировать папки из C:\Windows\Assembly\GAC_MSIL. Проводник Windows отказывается показывать эту папку, поэтому необходимо использовать командную строку.

Если вы не знакомы с папкой GAC вы бы знали, что имена папок нетривиальны и легко ошибаться, если вы ошибаетесь.

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

первый дамп папки, которые вы хотите скопировать во временный файл, это, как правило, на основе некоторого шаблона, например,

dir /B policy* > Folders.txt

затем зациклить записи в дампе и скопировать в пункт назначения. Команда xcopy позаботится о создании папки, если вы закончите аргумент назначения обратной косой чертой (\)

for /F "tokens=*" %%A in (Folders.txt) do xcopy /E /S %%A C:\Dest\%%A\

поставить обе эти команды в пакетный файл и запустить.

теперь, если только xcopy или robocopy имеет это встроенный.

0
отвечен mahendrent 2022-12-14 14:01

команда xcopy SourceDrive: DestinationDrive: /Ы /Е

0
отвечен Noor All Safaet 2022-12-14 16:18

Это будет делать это из графического интерфейса, не знаю, как они это делают.

"...небольшая программа позволит вам выбрать "из каталога" и "в каталог", и она будет продолжать копировать только структуру каталогов."

http://www.rjlsoftware.com/software/utility/treecopy/

-2
отвечен NginUS 2022-12-14 18:35

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх