Скопировать весь каталог в папку вывода, поддерживая структуру папок?
Я хочу, чтобы конкретный каталог был скопирован в папку вывода ( "bin" ) для каждой сборки. Я думаю, что это можно обработать через скрипты post build. Но я не уверен, как скопировать сам каталог. Я знаю, как обрабатывать определенные файлы.
Например, это работает для файла:
В
Project > Properties > Build Events > Post Build
COPY "$(SolutionDir)Resources\Release Notes.pdf" "$(TargetDir)"
Но предположим, что у меня есть каталог Template
, теперь мне нужно все под Template
перейти в папку bin
при успешной компоновке , поддерживающей структуру папок.
Я пробовал это:
COPY "$(SolutionDir)Resources\Template\" "$(TargetDir)"
Только файлы в каталоге Template
копируются таким образом, а не подкаталоги и файлы внутри папки Template
. Я хочу, чтобы сама папка Template
попала в мою выходную папку bin
. Другими словами, bin
должен выглядеть так:
bin > Template > abc.xxx
xxx.yyy
Subdirectory1 > asd.qwe
zxc.qwe
Subdirectory2 > ...
Это может быть дубликат, но я не смог найти соответствующий поток. Спасибо.
Ответы
Ответ 1
Это сработало для меня. /S
- это ключ, который копирует все рекурсивно.
XCOPY "$(SolutionDir)Resources\Template" "$(TargetDir)\Template\" /S
Так как я хотел, чтобы файлы были перезаписаны каждый раз без подсказки, я добавил также переключатель /Y
.
XCOPY "$(SolutionDir)Resources\Template" "$(TargetDir)\Template\" /S /Y
Ответ 2
Попробуйте XCOPY вместо COPY; например.
XCOPY "$(SolutionDir)Resources\Template\" "$(TargetDir)" /s /i /y
Подробнее о XCOPY здесь...
http://www.computerhope.com/xcopyhlp.htm