web-dev-qa-db-fra.com

Comment copier récursivement des fichiers d'un modèle spécifique dans un seul dossier plat sous Windows?

J'ai besoin de copier un ensemble de fichiers DLL et PDB 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 dans les outils Windows, par exemple les commandes DOS.

61
mickdelaney
mkdir targetDir
for /r %x in (*.dll, *pdb) do copy "%x" targetDir\

Utilisez/Y à la fin de la commande ci-dessus si vous copiez plusieurs fichiers et ne souhaitez pas continuer à répondre "Oui".

109

commande XCOPY

exemple de copie récursive d'un dossier:

mkdir DestFolder
xcopy SrcFolder DestFolder /E

(comme indiqué ci-dessous dans le commentaire suivant WIKI cette commande a été rendue disponible depuis DOS 3.2)

36
Bronek

Assurez-vous que les guillemets sont corrects si vous avez des espaces sur votre chemin.

Il s'agit de mon événement de post-construction pour mon serveur de génération TFS (c'est pourquoi il y a "%%"). J'avais besoin que tous les fichiers de test soient copiés.

if not exist  "$(TargetDir)..\SingleFolderOutput" mkdir -p "$(TargetDir)..\SingleFolderOutput"

for /r **%%x** in (*.dll, *.pdb, *.xml, *.xaml, *.exe, *.exe.config) do xcopy **"%%x"** "$(TargetDir)..\SingleFolderOutput" /Y
0
SteckDEV