Je dois copier un ensemble de fichiers DLL et PDB à partir d'un ensemble de dossiers de manière récursive dans un autre dossier. Je ne veux pas recréer la hiérarchie des dossiers dans le dossier cible. Je souhaite utiliser les outils Windows intégrés, par exemple les commandes DOS.
Réponses
Trop de publicités?BTW assurez-vous que vous avez les guillemets exacts si vous avez des espaces dans votre chemin.
C'est mon événement postbuild pour mon serveur de build TFS (c'est pourquoi il y a "%%"). J'avais besoin de copier tous les fichiers de test.
s'il n'existe pas "$ (TargetDir) .. \ SingleFolderOutput" mkdir -p "$ (TargetDir) .. \ SingleFolderOutput"
pour / r %% x in (* .dll, * .pdb, * .xml, * .xaml, * .exe, * .exe.config) ne xcopy "%% x" "$ (TargetDir) .. \ SingleFolderOutput "/ Y
@echo off
if %1'==' goto usage
if %2'==' goto usage
if %3'==' goto usage
for /D %%F in (%1\*) do xcopy %%F\%2 %3 /D /Y
for /D %%F in (%1\*.) do call TreeCopy %%F %2 %3
goto end
:usage
@echo Usage: TreeCopy [Source folder] [Search pattern] [Destination folder]
@echo Example: TreeCopy C:\Project\UDI *.xsd C:\Project\UDI\SOA\Deploy\Metadata
:end
Je ne suis au courant d'aucun outil de ligne de commande qui effectue cela directement, mais vous pouvez créer un script de traitement par lots pour parcourir les sous-dossiers et copier les fichiers dont vous avez besoin.
Cependant, vous pouvez vous retrouver avec des fichiers avec des noms de fichiers en double si vous les placez tous dans le même dossier.