Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Azure DevOps Services | Servidor Azure DevOps | Azure DevOps Server 2022 | Azure DevOps Server 2020
Sintaxe de padrões
Um padrão é uma cadeia de caracteres ou uma lista de cadeias de caracteres delimitadas por nova linha. Os nomes de arquivo e diretório são comparados a padrões para incluí-los (ou, às vezes, excluí-los) em uma tarefa. Você pode criar um comportamento complexo empilhando vários padrões. Consulte fnmatch para obter um guia de sintaxe completo.
Corresponder caracteres
A maioria dos caracteres é usada como correspondência exata. O que conta como uma correspondência "exata" depende da plataforma: o sistema de arquivos do Windows não diferencia maiúsculas de minúsculas, portanto, o padrão "ABC" corresponderia a um arquivo chamado "abc". Em sistemas de arquivos que diferenciam maiúsculas de minúsculas, esse padrão e nome não corresponderiam.
Os caracteres a seguir têm um comportamento especial.
-
*corresponde a zero ou mais caracteres em um nome de arquivo ou diretório. Consulte os exemplos. -
?corresponde a qualquer caractere único em um nome de arquivo ou diretório. Consulte os exemplos. -
[]corresponde a um conjunto ou intervalo de caracteres em um nome de arquivo ou diretório. Consulte os exemplos. -
**curinga recursivo. Por exemplo,/hello/**/*corresponde a todos os descendentes de/hello.
Globbing estendido
-
?(hello|world)- correspondênciashelloouworldzero vezes ou uma vez -
*(hello|world)- zero ou mais ocorrências -
+(hello|world)- uma ou mais ocorrências -
@(hello|world)- exatamente uma vez -
!(hello|world)- nãohelloouworld
Observação
Globs estendidos não podem abranger separadores de diretório. Por exemplo, +(hello/world|other) não é válido.
Comentários
Os padrões que começam com # são tratados como comentários.
Excluir padrões
A ! à esquerda altera o significado de um padrão de inclusão a ser excluído.
Você pode incluir um padrão, excluir um subconjunto dele e incluir novamente um subconjunto: isso é conhecido como um padrão "intercalado".
Várias ! inverte o significado. Consulte os exemplos.
Você deve definir um padrão de inclusão antes de um padrão de exclusão. Consulte os exemplos.
Escape
Encapsular caracteres especiais em [] pode ser usado para escapar de caracteres glob literais em um nome de arquivo. Por exemplo, o nome do arquivo literal hello[a-z] pode ser escapado como hello[[]a-z].
Barra
/ é usado como separador de caminho no Linux e no macOS.
Na maioria das vezes, os agentes do Windows aceitam /.
As ocasiões em que o separador do Windows (\) deve ser usado são documentadas.
Exemplos
- Exemplos básicos de padrão
- Exemplos de asterisco
- Exemplos de ponto de interrogação
- Exemplos de conjunto de caracteres
- Exemplos curinga recursivos
- Excluir exemplos de padrão
- Exemplos de exclusão dupla
- Exemplos de exclusão de pasta
Exemplos básicos de padrão
Exemplos de asterisco
Exemplo 1: Considerando o padrão *Website.slne os seguintes arquivos:
ConsoleHost.sln
ContosoWebsite.sln
FabrikamWebsite.sln
Website.sln
O padrão corresponderia:
ContosoWebsite.sln
FabrikamWebsite.sln
Website.sln
Exemplo 2: Considerando o padrão *Website/*.proj e caminhos:
ContosoWebsite/index.html
ContosoWebsite/ContosoWebsite.proj
FabrikamWebsite/index.html
FabrikamWebsite/FabrikamWebsite.proj
O padrão corresponderia:
ContosoWebsite/ContosoWebsite.proj
FabrikamWebsite/FabrikamWebsite.proj
Exemplos de ponto de interrogação
Exemplo 1: Considerando o padrão log?.loge os seguintes arquivos:
log1.log
log2.log
log3.log
script.sh
O padrão corresponderia:
log1.log
log2.log
log3.log
Exemplo 2: Considerando o padrão image.???e os seguintes arquivos:
image.tiff
image.png
image.ico
O padrão corresponderia:
image.png
image.ico
Exemplos de conjunto de caracteres
Exemplo 1: Considerando o padrão Sample[AC].date os seguintes arquivos:
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
O padrão corresponderia:
SampleA.dat
SampleC.dat
Exemplo 2: Considerando o padrão Sample[A-C].date os seguintes arquivos:
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
O padrão corresponderia:
SampleA.dat
SampleB.dat
SampleC.dat
Exemplo 3: Considerando o padrão Sample[A-CEG].date os seguintes arquivos:
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
SampleE.dat
SampleF.dat
SampleG.dat
SampleH.dat
O padrão corresponderia:
SampleA.dat
SampleB.dat
SampleC.dat
SampleE.dat
SampleG.dat
Exemplos curinga recursivos
Considerando o padrão **/*.exte os seguintes arquivos:
sample1/A.ext
sample1/B.ext
sample2/C.ext
sample2/D.not
O padrão corresponderia:
sample1/A.ext
sample1/B.ext
sample2/C.ext
O exemplo a seguir foi gerado pelo Copilot. Copilot é alimentado pela IA, portanto, surpresas e erros são possíveis. Para obter mais informações, consulte perguntas frequentessobre uso geral do Copilot.
O **/*.ext padrão glob é um padrão recursivo poderoso usado em muitos sistemas de arquivos e ferramentas (como bash, zsh, etc Python glob.) para corresponder a todos os arquivos que terminam no .ext diretório atual e em todos os subdiretórios, independentemente de quão profundamente aninhados.
Aqui estão alguns caminhos de exemplo que corresponderiam **/*.ext:
sample1/A.extsample1/B.extsample2/C.extsample2/subdir1/D.extsample2/subdir1/subdir2/E.extsample3/F.extsample3/subdir3/G.extsample3/subdir3/subdir4/H.ext
A ** parte significa qualquer número de diretórios (incluindo zero) e *.ext significa qualquer arquivo terminando em .ext.
Excluir exemplos de padrão
Dado o seguinte padrão e os seguintes arquivos:
*
!*.xml
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
O padrão corresponderia:
ConsoleHost.exe
ConsoleHost.pdb
Fabrikam.dll
Fabrikam.pdb
Exemplos de exclusão dupla
Dado o seguinte padrão e os seguintes arquivos:
*
!*.xml
!!Fabrikam.xml
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
O padrão corresponderia:
ConsoleHost.exe
ConsoleHost.pdb
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
Exemplos de exclusão de pasta
Dado o seguinte padrão e os seguintes arquivos:
**
!sample/**
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
sample/Fabrikam.dll
sample/Fabrikam.pdb
sample/Fabrikam.xml
O padrão corresponderia:
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml