7

Я рассмотрел довольно много решений вопросов xCopy и перепробовал много разных методов. (Различные символы подстановки, пути, заканчивающиеся на \, различные переключатели xcopy в различных комбинациях.)

xCopy c:\Public  d:\MyNewDir\

Когда все будет готово, мне нужно, чтобы в папку назначения была включена папка Public, содержащая все файлы, папки, подпапки, все.

Результат должен выглядеть так:

d:\MyNewDir\Public\(and everything inside it)

Не так:

d:\MyNewDir\(everything inside Public)

Это звучит так просто. Вместо этого я никогда не вижу созданную папку "Public". Он только создает все внутри "Public" .... но никогда не "Public" сам. (У меня много папок для копирования, поэтому я не хочу создавать отдельные папки вручную.)

Есть ли решение этой простой проблемы с использованием только xCopy и Windows 7?

2 ответа2

6

Мне нужно, чтобы место назначения включало папку с именем "Public"

содержащий все файлы, папки, подпапки, все.

Используйте следующую команду:

xcopy c:\Public\* d:\MyNewDir\Public /s /i
  • /s - копировать папки и подпапки

  • /i - Если вы сомневаетесь, всегда предполагайте, что адресатом является папка, например, когда адресат не существует.


Дальнейшее чтение

1

Во-первых, перечислите структуру папок в файл:

dir /ad /b /s C:\ > D:\windir.txt

2-й, откройте D:\windir.txt в Блокноте и замените все C:\ на ноль; сохранить файл

Третий, использовать for команды , чтобы рекурсия через windir.txt скопировать структуру каталогов и файлы в каждом каталоге:

for /f "delims=;" %a in (D:\windir.txt) do xcopy "C:\%a" "D:\MyNewDir\%a" /c /i /g /h /k /o /x /j /b /y

Вы можете добавить /q если не хотите видеть каталоги и файлы, когда они копируются; Мне нравится положительный отзыв.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .