108 votes

Comment utiliser les modèles de dénomination Nant / Ant?

Je dois admettre que j'ai toujours oublié les intracies syntaxiques des modèles de nommage pour Nant (par exemple, ceux utilisés dans les ensembles de fichiers). Le double astérisque / single astérisque semble être très oubliable dans mon esprit.

Quelqu'un peut-il fournir un guide définitif sur les modèles de nommage?

267voto

benzado Points 36367

Les règles sont les suivantes:

  • une seule étoile (*) correspond à zéro ou plusieurs caractères dans un nom de chemin d'accès
  • un double astérisque (**) correspond à zéro ou plusieurs caractères à travers les niveaux de répertoire
  • un point d'interrogation (?) correspond exactement à un caractère dans un nom de chemin d'accès

Une autre façon de penser est double astérisque (**) correspond à la barre oblique ( / ), mais seule étoile (*) ne fonctionne pas.

Disons que vous avez les fichiers:

  1. bar.txt
  2. src/bar.c
  3. src/baz.c
  4. src/test/bartest.c

Ensuite, les schémas:

  • *.c correspond à rien (il n'y a pas .c les fichiers dans le répertoire courant)
  • src/*.c des matchs 2 et 3
  • */*.c correspond à 2 et 3 (parce qu' * seuls les matchs d'un niveau)
  • **/*.c correspond à 2, 3, et 4 (parce que ** correspond à un nombre quelconque de niveaux)
  • bar.* correspond à 1
  • **/bar.* des matchs 1 et 2
  • **/bar*.* correspond à 1, 2, et 4
  • src/ba?.c des matchs 2 et 3

19voto

sparkplug Points 98

Voici quelques schémas de correspondances qui ne sont pas si évident à partir de la documentation. Testé à l'aide de NAnt pour les fichiers d'exemple dans benzado de réponse:

  • src** correspond à 2, 3 et 4
  • **.c correspond à 2, 3, et 4
  • **ar.* des matchs 1 et 2
  • **/bartest.c/** des matchs 4
  • src/ba?.c/** des matchs 2 et 3

4voto

Les doubles astérisques ( ** ) sont associés aux noms de dossier correspondants, alors que les symboles simples représentent un astérisque ( * = multi characters ) ainsi que le point d'interrogation ( ? = single character ). utilisé pour faire correspondre les noms de fichiers.

4voto

Andy Whitfield Points 1182

Découvrez la référence Nant . Les modèles 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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X