Je dois admettre que j'ai toujours oublié les subtilités syntaxiques des modèles de dénomination pour Nant (par exemple, ceux utilisés dans les ensembles de fichiers). Le truc double astérisque / astérisque simple semble être très oubliable dans mon esprit.
Quelqu'un peut-il fournir un guide définitif sur les modèles de dénomination?
Réponses:
Les règles sont:
Une autre façon d'y penser est que la double étoile (**) correspond à la barre oblique (/) mais pas à la simple étoile (*).
Disons que vous avez les fichiers:
Puis les motifs:
*.c
ne correspond à rien (il n'y a pas de fichiers .c dans le répertoire courant)src/*.c
correspond à 2 et 3*/*.c
correspond à 2 et 3 (car * ne correspond qu'à un seul niveau)**/*.c
correspond à 2, 3 et 4 (car ** correspond à n'importe quel nombre de niveaux)bar.*
correspond à 1**/bar.*
correspond à 1 et 2**/bar*.*
correspond à 1, 2 et 4src/ba?.c
correspond à 2 et 3la source
**.c
correspondrait?bar.txt
c'est implicitement./bar.txt
(.
signifie le répertoire courant). Donc , cette liste est vraiment./bar.txt
,./src/bar.c
, etc. , et l'./
on suppose.Voici quelques correspondances de motifs supplémentaires qui ne sont pas si évidentes dans la documentation. Testé en utilisant NAnt pour les fichiers d'exemple dans la réponse de benzado:
src**
correspond à 2, 3 et 4**.c
correspond à 2, 3 et 4**ar.*
correspond à 1 et 2**/bartest.c/**
correspond à 4src/ba?.c/**
correspond à 2 et 3la source
Les doubles astérisques (
**
) sont associés à la correspondance des noms de dossier, tandis que les symboles simples astérisque (* = multi characters
) ainsi que le point d'interrogation (? = single character
) sont utilisés pour faire correspondre les noms de fichiers.la source
Consultez la référence Nant . Les modèles d'ensemble de fichiers sont:
«*» correspond à zéro ou plusieurs caractères, par exemple * .cs
«?» correspond à un caractère, par exemple? .cs
Et «**» correspond à une arborescence de répertoires, par exemple src / ** / *. Cs trouvera tous les fichiers cs dans n'importe quel sous-répertoire de src.
la source