Debo admitir que siempre olvidé las intracatidades sintácticas de los patrones de denominación de Nant (por ejemplo, los que se utilizan en los conjuntos de archivos). El doble asterisco/asterisco único parece ser muy olvidable en mi mente.
¿Puede alguien proporcionar una guía definitiva para los patrones de nombres?
Las reglas son:
Otra forma de pensar sobre esto es que la estrella doble (**) coincida con una barra (/), pero la estrella simple (*) no lo hace.
Digamos que tienes los archivos:
Luego 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 número de niveles)bar.*
coincide con 1**/bar.*
coincide con 1 y 2**/bar*.*
coincide con 1, 2 y 4src/ba?.c
coincide con 2 y 3Aquí hay algunas coincidencias de patrones adicionales que no son tan obvias en la documentación. Probado utilizando 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 con 4src/ba?.c/**
coincide con 2 y 3Los asteriscos dobles (**
) se asocian con la coincidencia de nombres de carpeta, mientras que los símbolos de asterisco (* = multi characters
) y los signos de interrogación (? = single character
) se usan para coincidir con los nombres de los archivos.
Echa un vistazo a la referencia de Nant . Los patrones del conjunto de archivos son:
'*' coincide con cero o más caracteres, por ejemplo, * .cs
'?' coincide con un carácter, por ejemplo, ? .cs
Y '**' coincide con un árbol de directorios, por ejemplo, src/**/*. cs encontrará todos los archivos cs en cualquier subdirectorio de src.