Мне нужно скопировать папку 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
опция, чтобы не спрашивать, является ли цель каталогом или файлом.
пытаться
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, включите все подпапки, даже пустые, сохраните временные метки каталога.)