web-dev-qa-db-fra.com

Copier tout le répertoire dans le dossier de sortie en conservant la structure du dossier?

Je veux qu'un répertoire spécifique soit copié dans le dossier de sortie ("bin") sur chaque build. Je pense que cela peut être géré via des scripts de post-construction. Mais je ne sais pas comment copier un répertoire lui-même. Je sais comment gérer des fichiers spécifiques.

Par exemple, cela fonctionne pour un fichier:

Dans

Projet> Propriétés> Événements de génération> Post-génération

COPY "$(SolutionDir)Resources\Release Notes.pdf" "$(TargetDir)"

Mais supposons que j'ai un répertoire Template, maintenant j'ai besoin de tout sous Template pour arriver au dossier bin après une construction réussie en maintenant la structure du dossier.

J'ai essayé ceci:

COPY "$(SolutionDir)Resources\Template\" "$(TargetDir)"

Seuls les fichiers du répertoire Template sont copiés de cette façon et non les sous-répertoires et les fichiers du dossier Template. Je veux que le dossier Template lui-même vienne à l'intérieur de mon dossier de sortie bin. En d'autres termes, bin devrait ressembler à:

bin > Template > abc.xxx  
                 xxx.yyy
                 Subdirectory1 > asd.qwe
                                 zxc.qwe 
                 Subdirectory2 > ...

Cela pourrait être un doublon, mais je n'ai pas trouvé de fil pertinent. Merci.

35
nawfal

Cela a fonctionné pour moi. /S est la clé qui copie tout récursivement.

XCOPY "$(SolutionDir)Resources\Template" "$(TargetDir)\Template\" /S

Comme je voulais que les fichiers soient écrasés à chaque fois sans invite, j'ai ajouté un /Y basculer également.

XCOPY "$(SolutionDir)Resources\Template" "$(TargetDir)\Template\" /S /Y
41
nawfal

Essayez XCOPY au lieu de COPY; par exemple.

XCOPY "$(SolutionDir)Resources\Template\" "$(TargetDir)\Template" /s /i /y

Plus d'informations sur XCOPY ici ...

http://www.computerhope.com/xcopyhlp.htm

20
PhilAI