Скопировать каталог, включая базовую папку
Мне нужно скопировать папку 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 ответа
robocopy \folderA \folderB\folderA /s
создаст папку A в месте назначения и выполнит рекурсивное копирование. Проверьте, какие другие варианты вы можете хотеть или требовать. например /e
если вы хотите включить пустые папки.
Если я правильно понимаю параметры, вы хотите сделать Robocopy C:\temp\folderA C:\temp\folderB /COPYALL /E /DCOPY:T
(Скопируйте папку A в папку B, сохраните все атрибуты и ACL, включите все вложенные папки, даже пустые, сохраните временные метки каталога.)