Скопировать каталог, включая базовую папку

Мне нужно скопировать папку A в папку B через командную строку:

c:\temp
        \folderA
        \folderB

должен стать

c:\temp
         \folderA   
         \folderB\folderA

То есть точно так же, как если бы вы скопировали папку A с помощью проводника Windows и вставили ее в папку B.

Это не работает:

xcopy /e folder1 folder2\

как вы в конечном итоге с содержимым папки A в папке B, а не сама папка A.

Как ни странно, move делает именно то, что я хочу, за исключением того, что он перемещается вместо копирования:)

Как скопировать папку и включить саму папку в качестве базовой папки для копии? Мне не нужно было использовать mkdir для создания целевой папки. (но это делает работу противно)

Пожалуйста, не направляйте меня к этому, поскольку это не делает выше.

Обновить:

Благодаря приведенным ниже ответам с использованием robocopy, я нашел решение с использованием xcopy, которое не отображает:

xcopy / e / i folderA folderB \ folderA

Использовать /i вариант, чтобы не спрашивать, является ли цель каталогом или файлом.

3 ответа

Решение

Пытаться

xcopy folder1 folder2\folder1 /e /i

robocopy \folderA \folderB\folderA /s создаст папку A в месте назначения и выполнит рекурсивное копирование. Проверьте, какие другие варианты вы можете хотеть или требовать. например /e если вы хотите включить пустые папки.

Робокопия.

Если я правильно понимаю параметры, вы хотите сделать Robocopy C:\temp\folderA C:\temp\folderB /COPYALL /E /DCOPY:T

(Скопируйте папку A в папку B, сохраните все атрибуты и ACL, включите все вложенные папки, даже пустые, сохраните временные метки каталога.)

Другие вопросы по тегам