Подтвердить что ты не робот

Скопировать весь каталог в папку вывода, поддерживая структуру папок?

Я хочу, чтобы конкретный каталог был скопирован в папку вывода ( "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 > ...

Это может быть дубликат, но я не смог найти соответствующий поток. Спасибо.

4b9b3361

Ответ 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