Referencia de patrones de coincidencia de archivos
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Sintaxis del patrón
Un patrón es una cadena o una lista de cadenas delimitadas por líneas nuevas. Los nombres de archivo y directorio se comparan con los patrones para incluirlos (o a veces excluirlos) en una tarea. Puede crear un comportamiento complejo apilando varios patrones. Consulte fnmatch para obtener una guía de sintaxis completa.
Coincidencia de caracteres
La mayoría de los caracteres se usan como coincidencias exactas. Lo que cuenta como una coincidencia "exacta" depende de la plataforma: el sistema de archivos de Windows no distingue mayúsculas de minúsculas, por lo que el patrón "ABC" coincidiría con un archivo denominado "abc". En los sistemas de archivos que distinguen mayúsculas de minúsculas, ese patrón y ese nombre no coincidirían.
Los siguientes caracteres tienen un comportamiento especial.
*
coincide con cero o más caracteres de un nombre de archivo o directorio. Consulte ejemplos.?
coincide con cualquier carácter de un nombre de archivo o directorio. Consulte ejemplos.[]
coincide con un conjunto o intervalo de caracteres de un nombre de archivo o directorio. Consulte ejemplos.**
carácter comodín recursivo. Por ejemplo,/hello/**/*
coincide con todos los descendientes de/hello
.
Comodines extendidos
?(hello|world)
: coincide conhello
oworld
cero veces o una vez.*(hello|world)
: cero o más repeticiones.+(hello|world)
: una o más repeticiones.@(hello|world)
: exactamente una vez.!(hello|world)
: nihello
niworld
.
Tenga en cuenta que los comodines extendidos no pueden abarcar separadores de directorios. Por ejemplo, +(hello/world|other)
no es válido.
Comentarios
Los patrones que comienzan con #
se tratan como comentarios.
Exclusión de patrones
!
al principio cambia el significado de un patrón de inclusión a exclusión.
Puede incluir un patrón, excluir un subconjunto de él y, después, volver a incluir un subconjunto de ese. Esto se conoce como patrón "intercalado".
Varios !
invierten el significado. Consulte ejemplos.
Debe definir un patrón de inclusión antes de excluir uno. Consulte ejemplos.
Escape
Encerrar los caracteres especiales entre []
se puede usar para escapar caracteres comodín literales en un nombre de archivo. Por ejemplo, el nombre de archivo literal hello[a-z]
se puede escapar como hello[[]a-z]
.
Slash
/
se usa como separador de ruta de acceso en Linux y macOS.
La mayoría de las veces, los agentes de Windows aceptan /
.
Los casos en los que debe usarse el separador de Windows (\
) están documentados.
Ejemplos
Ejemplos de patrones básicos
Ejemplos de asterisco
Ejemplo 1: Dado el patrón *Website.sln
y los archivos:
ConsoleHost.sln
ContosoWebsite.sln
FabrikamWebsite.sln
Website.sln
El patrón coincidiría con:
ContosoWebsite.sln
FabrikamWebsite.sln
Website.sln
Ejemplo 2: Dado el patrón *Website/*.proj
y las rutas de acceso:
ContosoWebsite/index.html
ContosoWebsite/ContosoWebsite.proj
FabrikamWebsite/index.html
FabrikamWebsite/FabrikamWebsite.proj
El patrón coincidiría con:
ContosoWebsite/ContosoWebsite.proj
FabrikamWebsite/FabrikamWebsite.proj
Ejemplos de signo de interrogación
Ejemplo 1: Dado el patrón log?.log
y los archivos:
log1.log
log2.log
log3.log
script.sh
El patrón coincidiría con:
log1.log
log2.log
log3.log
Ejemplo 2: Dado el patrón image.???
y los archivos:
image.tiff
image.png
image.ico
El patrón coincidiría con:
image.png
image.ico
Ejemplos de juego de caracteres
Ejemplo 1: Dado el patrón Sample[AC].dat
y los archivos:
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
El patrón coincidiría con:
SampleA.dat
SampleC.dat
Ejemplo 2: Dado el patrón Sample[A-C].dat
y los archivos:
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
El patrón coincidiría con:
SampleA.dat
SampleB.dat
SampleC.dat
Ejemplo 3: Dado el patrón Sample[A-CEG].dat
y los archivos:
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
SampleE.dat
SampleF.dat
SampleG.dat
SampleH.dat
El patrón coincidiría con:
SampleA.dat
SampleB.dat
SampleC.dat
SampleE.dat
SampleG.dat
Ejemplos de caracteres comodín recursivos
Dado el patrón **/*.ext
y los archivos:
sample1/A.ext
sample1/B.ext
sample2/C.ext
sample2/D.not
El patrón coincidiría con:
sample1/A.ext
sample1/B.ext
sample2/C.ext
Ejemplos de patrones de exclusión
Dado el patrón:
*
!*.xml
Y los archivos:
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
El patrón coincidiría con:
ConsoleHost.exe
ConsoleHost.pdb
Fabrikam.dll
Fabrikam.pdb
Exclusión doble
Dado el patrón:
*
!*.xml
!!Fabrikam.xml
Y los archivos:
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
El patrón coincidiría con:
ConsoleHost.exe
ConsoleHost.pdb
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
Exclusión de carpetas
Dado el patrón:
**
!sample/**
Y los archivos:
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
sample/Fabrikam.dll
sample/Fabrikam.pdb
sample/Fabrikam.xml
El patrón coincidiría con:
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml