Frage

Ich muß zugeben, dass ich immer die syntaktischen intracacies des Namensmusters für Nant vergessen (zB. In diesen Dateigruppen verwendet). Der Doppelstern / Einzel Sternchen Zeug scheint in meinem Kopf sehr getrost vergessen zu sein.

Kann jemand ein definitiven Leitfaden für die Namensmuster zur Verfügung stellen?

War es hilfreich?

Lösung

Die Regeln sind:

  • ein einzelner Stern (*) entspricht null oder mehr Zeichen in einem Pfadnamen
  • ein Doppelstern (**) entspricht null oder mehr Zeichen über Verzeichnisebene
  • ein Fragezeichen (?) Entspricht genau ein Zeichen in einem Pfadnamen

Ein weiterer Weg, um darüber nachzudenken, ist Doppelstern (**) Spiele Slash (/) aber einzelner Stern (*) nicht.

Angenommen, Sie haben die Dateien:

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

Dann werden die Muster:

  • *.c paßt nichts (es gibt keine .c-Dateien im aktuellen Verzeichnis)
  • src/*.c Spiele 2 und 3
  • */*.c Spiele 2 und 3 (da * nur Spiele eine Ebene)
  • **/*.c Spiele 2, 3 und 4 (weil ** eine beliebige Anzahl von Ebenen)
  • bar.* Spiele 1
  • **/bar.* Spiele 1 und 2
  • **/bar*.* Spiele 1, 2 und 4
  • src/ba?.c Spiele 2 und 3

Andere Tipps

Hier ein paar zusätzlichen Muster Spiele, die aus der Dokumentation nicht so offensichtlich sind. Getestet mit NAnt für die Beispieldateien in benzado Antwort:

  • src** Spiele 2, 3 und 4
  • **.c Spiele 2, 3 und 4
  • **ar.* Spiele 1 und 2
  • **/bartest.c/** Spiele 4
  • src/ba?.c/** Spiele 2 und 3

Doppel Sternchen (**) mit den Ordner-Namen zugeordnet passende, während einzelne Symbole Stern (* = multi characters) sowie die Fragezeichen (? = single character) verwendet, um die Datei-Namen entsprechen.

Schauen Sie sich die Nant Referenz . Die fileset Muster sind:

‚*‘ entspricht null oder mehr Zeichen, z.B. * .Cs
'?' entspricht ein Zeichen, z.B. ? CS-

Und ‚**‘ entspricht einen Verzeichnisbaum z.B. src / ** / *. cs alle cs-Dateien in jedem Unterverzeichnis src finden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top