J'essaie de copier plusieurs fichiers à partir d'un arbre de source profonde qui ont le même nom de fichier. Par exemple TestResults.trx. Je veux les copier dans un seul répertoire (c'est-à-dire aplati). Le problème est qu'ils se remplacent juste l'un l'autre et je finis avec un seul TestResults.trx dans le répertoire.Msbuild copier et aplatir avec des noms de fichiers uniques
<ItemGroup>
<SilverlightTestResults Include=".\**\*.trx" Exclude=".\TestResults\*" />
</ItemGroup>
<Copy SourceFiles="@(SilverlightTestResults)" DestinationFolder=".\TestResults">
Je pensais que je pouvais faire une transformation à l'aide un peu well known metadata, mais il ne semble pas être quelque chose d'unique là-bas pour le faire (les résultats des tests que je essaie de copier en direct dans des répertoires comme ceci:. \ SomeProject \ bin \ debug \ TestResults.trx).
copie dans un répertoire comme celui-ci comme celui-ci serait idéal:
.\TestResults\TestResults1.trx .\TestResults\TestResults2.trx .\TestResults\TestResults3.trx
Je ne se soucient pas des noms réels tant qu'ils sont uniques.
Des idées, cela ressemble à une tâche personnalisée?
Pouvez-vous expliquer pourquoi vous voulez aplatir la structure en premier lieu? –
Ces fichiers seront récupérés par Cruise Control et fusionnés dans le journal de construction. Le régulateur de vitesse n'a pas un grand support pour les caractères génériques. Par exemple, dans ccnet.config vous pouvez faire ceci: TestResults \\ *. Trx, mais pas ce TestResults \\ ** \\ *. Trx. De plus, je pourrais avoir mon script de génération de générer des noms de fichiers uniques, mais devrait remplacer les cibles de la boîte à outils Silverlight, si les changements peuvent être isolés pour le script de construction, c'est une belle victoire. – Keith
J'ai aussi jeté un coup d'œil à xcopy pour voir si je pouvais juste débourser ça, mais ça ne semble pas le supporter. – Keith