problème xcopy / exclude
-
10-07-2019 - |
Question
J'essaie d'exécuter xcopy pour copier des fichiers sauf .obj, etc. Ce que je constate, c'est que Microsoft.Practices.ObjectBuilder.dll n'est pas copié lorsque mon fichier excludes.txt contient l'extension .obj. Lorsque .obj est supprimé, Microsoft.Practices.ObjectBuilder.dll est copié correctement. Cela n’arrive cependant pas aux autres DLL.
Quelqu'un at-il une idée de la raison pour laquelle cela se produirait?
Merci!
Lenik
La solution
Je suppose que la sous-chaîne .obj se trouve dans le nom Microsoft.Practices **. Obj ** ectBuilder.dll et que windows ne respecte pas la casse, il sera exclu.
Autres conseils
Oui, xcopy est stupide comme ça.
Faites ceci:
dir /b *.obj >excludes.txt
xcopy * /exclude:excludes.txt targetdir
bien que le problème persiste parfois.
Si vous aviez un fichier appelé pratiques.ob j, par exemple, il ne le copierait pas, mais il ne réussirait pas non plus à copier votre Microsoft. Practices.Obj ectBuilder.dll
Un truc pratique est que si vous spécifiez / s dans le répertoire, vous obtenez la récursivité et le chemin complet, puis si vous spécifiez le répertoire source entièrement sur xcopy, les exclusions devront correspondre à la commençant:
dir /s /b *.obj >excludes.txt
xcopy c:\sourcedir\* /exclude:excludes.txt \targetdir
Maintenant, Microsoft.Practices.ObjectBuilder.dll ne pourra pas être copié si vous avez un fichier Microsoft.Practices.obj dans le même répertoire. Obtenez-le?
XCOPY est déprécié maintenant de toute façon, donc je doute que les choses vont se réparer. ROBOCOPY est intégré à Vista et figure dans le kit de ressources pour 2003 et XP .
La réponse est ce que vous pourriez obtenir en tapant:
xcopy /?
À savoir:
/ EXCLUDE: fichier1 [+ fichier2] [+ fichier3] ...
Spécifie une liste de fichiers contenant des chaînes. Chaque chaîne devrait être dans une ligne séparée dans les fichiers. Quand l'un des les chaînes correspondent à n’importe quelle partie du chemin absolu du fichier à copié, ce fichier sera exclu de la copie. Pour Par exemple, spécifier une chaîne comme \ obj \ ou .obj exclura tous les fichiers situés sous le répertoire obj ou tous les fichiers avec le Extension .obj respectivement.