скопировать всю папку (не только содержимое) в другую папку в терминале cmd - PullRequest
3 голосов
/ 07 марта 2019

Я хотел бы скопировать всю папку в другую папку.НЕ ПРОСТО содержимое этой папки.
Для этого я хотел бы сделать это в терминале CMD.

FolderOriging1

/---folderA
/---folderB
/---folderC

FolderDesteny

/---empty

Результат, который мне нравится:

FolderDesteny
/---folderA

folderA, включая все файлы, папки и подпапки)
Я видел несколько сообщений здесь & здесь например,
Все они в конечном итоге копируют содержимое папки A., но не саму папку.

, например:

xcopy C:\folderA C:\folderB /E

, при этом содержимое папки A копируется в папку B

xcopy C:\folderA C:\folderB\folderA /E

Не работает ни

Другие модификаторы, подобные указанным в приведенной выше ссылке, также не работают:

xcopy C:\folderA C:\folderB /E /i

Ответы [ 2 ]

1 голос
/ 07 марта 2019

Причина xcopy C:\folderA C:\folderB\folderA /E не работает в том, что folderA не существует в C:\folderB.Что видно из структуры каталога в вашем вопросе:

/folderA
/folderB
/folderC

Вам нужно использовать переключатель /I, чтобы создать каталог, если он не существует.Поэтому ваша команда должна быть:

xcopy C:\folderA C:\folderB\folderA /E /I

Обратите внимание, что Microsoft также рекомендует использовать ключи /O, /X, /H и /K с xcopy, если вы хотите сохранить папкуразрешения.Следующие эффекты:

/H - Copies hidden and system files also.
/K - Copies attributes. Typically, Xcopy resets read-only attributes.
/O - Copies file ownership and ACL information.
/X - Copies file audit settings (implies /O)

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

Если вам нужна дополнительная информация о копировании папкии его содержимое в другую папку, используя xcopy и альтернативы использованию xcopy, а затем проверьте этот вопрос суперпользователя: Команда командной строки для копирования всего каталога (включая папку каталога) в другой каталог .

0 голосов
/ 07 марта 2019

Попробуйте это:

echo d|xcopy /E "c:\folderA" "C:\folderB\folderA"

d будет служить интерактивным выбором d для папки.

Или просто

xcopy /E "c:\folderA" "C:\folderB\folderA\"
...