¿Cómo uso los patrones de nomenclatura Nant / Ant?




(5)

Los asteriscos dobles ( ** ) están asociados con la coincidencia de nombres de carpetas, mientras que los símbolos individuales asterisco ( * = multi characters ), así como el signo de interrogación ( ? = single character ) se utilizan para coincidir con los nombres de archivo.

Tengo que admitir que siempre olvidé las intracaias sintácticas de los patrones de nomenclatura para Nant (por ejemplo, los que se usan en los conjuntos de archivos). El doble asterisco / asterisco simple parece ser muy olvidable en mi mente.

¿Puede alguien proporcionar una guía definitiva para los patrones de nombres?


Las reglas son:

  • una sola estrella (*) coincide con cero o más caracteres dentro de un nombre de ruta
  • una estrella doble (**) coincide con cero o más caracteres en los niveles de directorio
  • un signo de interrogación (?) coincide exactamente con un carácter dentro de un nombre de ruta

Otra forma de pensar es doble estrella (**) coincide con barra inclinada (/), pero la estrella simple (*) no.

Digamos que tienes los archivos:

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

Entonces los patrones:

  • *.c no coincide con nada (no hay archivos .c en el directorio actual)
  • src/*.c coincide con 2 y 3
  • */*.c coincide con 2 y 3 (porque * solo coincide con un nivel)
  • **/*.c coincide con 2, 3 y 4 (porque ** coincide con cualquier cantidad de niveles)
  • bar.* coincide con 1
  • **/bar.* coincide con 1 y 2
  • **/bar*.* coincide con 1, 2 y 4
  • src/ba?.c coincide con 2 y 3

Mira la referencia de Nant . Los patrones del conjunto de archivos son:

'*' coincide con cero o más caracteres, p. ej. * .cs
'?' coincide con un personaje, por ejemplo? .cs

Y '**' coincide con un árbol de directorios, por ejemplo, src / ** / *. Cs encontrará todos los archivos cs en cualquier subdirectorio de src.


Aquí hay algunas coincidencias de patrones extra que no son tan obvias en la documentación. Probado usando NAnt para los archivos de ejemplo en la respuesta de benzado:

  • src** coincide con 2, 3 y 4
  • **.c coincide con 2, 3 y 4
  • **ar.* coincide con 1 y 2
  • **/bartest.c/** coincide 4
  • src/ba?.c/** coincide con 2 y 3

Curiosamente, esto está relacionado con la forma en que se extraen los ejecutables del archivo Nant 0.91. (Esto no tenía sentido para mí hasta que lo probé, pero realmente funciona ...)

Fuente: http://surfjungle.blogspot.com/2011/11/tip-running-nant-091-on-windows-7.html

Descubrí que el problema estaba relacionado con la seguridad de Windows 7 porque el archivo comprimido NAnt 0.91 descargado necesitaba una configuración adicional relacionada con la seguridad: antes de extraer, debe hacer clic derecho en el archivo comprimido, seleccionar Propiedades y en la pestaña General, hacer clic en el botón etiquetado Desbloquear, luego haga clic en Aceptar en la ventana Propiedades. Ahora, extraiga el archivo a su ubicación deseada , asegúrese de que esté en la ruta del sistema, abra una nueva línea de comando y NAnt debería ejecutarse correctamente.