Informazioni di riferimento per i criteri di corrispondenza dei file
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Sintassi dei criteri
Un criterio è una stringa o un elenco di stringhe delimitate da nuova riga. I nomi di file e directory vengono confrontati con i modelli da includere (o a volte escludere) in un'attività. È possibile creare un comportamento complesso impilando più modelli. Vedere fnmatch per una guida completa alla sintassi.
Caratteri di corrispondenza
La maggior parte dei caratteri viene usata come corrispondenze esatte. Ciò che conta come corrispondenza "esatta" è dipendente dalla piattaforma: il file system di Windows non fa distinzione tra maiuscole e minuscole, quindi il modello "ABC" corrisponde a un file denominato "abc". Nei file system con distinzione tra maiuscole e minuscole il modello e il nome non corrispondono.
I caratteri seguenti hanno un comportamento speciale.
*
corrisponde a zero o più caratteri all'interno di un nome di file o directory. Vedere esempi.?
corrisponde a qualsiasi carattere singolo all'interno di un nome di file o directory. Vedere esempi.[]
corrisponde a un set o a un intervallo di caratteri all'interno di un nome di file o directory. Vedere esempi.**
carattere jolly ricorsivo. Ad esempio,/hello/**/*
corrisponde a tutti i discendenti di/hello
.
Globbing esteso
?(hello|world)
- corrispondehello
oworld
zero o una volta*(hello|world)
- zero o più occorrenze+(hello|world)
- una o più occorrenze@(hello|world)
- esattamente una volta!(hello|world)
- nonhello
oworld
Si noti che i glob estesi non possono estendersi a separatori di directory. +(hello/world|other)
, ad esempio, non è valido:
Commenti
I modelli che iniziano con #
vengono considerati come commenti.
Escludere i modelli
Modifica iniziale !
il significato di un criterio di inclusione da escludere.
È possibile includere un modello, escluderne un sottoinsieme e quindi includerne di nuovo un sottoinsieme: si tratta di un modello "interleaved".
Più !
capovolge il significato. Vedere esempi.
È necessario definire un criterio di inclusione prima di escluderne uno. Vedere esempi.
Escape
Il wrapping di caratteri speciali in []
può essere usato per eseguire l'escape dei caratteri glob letterali in un nome file. Ad esempio, il nome hello[a-z]
del file letterale può essere preceduto da un carattere di escape come hello[[]a-z]
.
Barra
/
viene usato come separatore di percorso in Linux e macOS.
Nella maggior parte dei casi, gli agenti Windows accettano /
.
Le occasioni in cui è necessario usare il separatore di Windows (\
) sono documentate.
Esempi
Esempi di criteri di base
Esempi di asterisco
Esempio 1: dato il criterio *Website.sln
e i file:
ConsoleHost.sln
ContosoWebsite.sln
FabrikamWebsite.sln
Website.sln
Il modello corrisponderà a:
ContosoWebsite.sln
FabrikamWebsite.sln
Website.sln
Esempio 2: dato il modello *Website/*.proj
e i percorsi:
ContosoWebsite/index.html
ContosoWebsite/ContosoWebsite.proj
FabrikamWebsite/index.html
FabrikamWebsite/FabrikamWebsite.proj
Il modello corrisponderà a:
ContosoWebsite/ContosoWebsite.proj
FabrikamWebsite/FabrikamWebsite.proj
Esempi di punto interrogativo
Esempio 1: dato il criterio log?.log
e i file:
log1.log
log2.log
log3.log
script.sh
Il modello corrisponderà a:
log1.log
log2.log
log3.log
Esempio 2: dato il modello image.???
e i file:
image.tiff
image.png
image.ico
Il modello corrisponderà a:
image.png
image.ico
Esempi di set di caratteri
Esempio 1: dato il criterio Sample[AC].dat
e i file:
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
Il modello corrisponderà a:
SampleA.dat
SampleC.dat
Esempio 2: dato il modello Sample[A-C].dat
e i file:
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
Il modello corrisponderà a:
SampleA.dat
SampleB.dat
SampleC.dat
Esempio 3: Dato il modello Sample[A-CEG].dat
e i file:
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
SampleE.dat
SampleF.dat
SampleG.dat
SampleH.dat
Il modello corrisponderà a:
SampleA.dat
SampleB.dat
SampleC.dat
SampleE.dat
SampleG.dat
Esempi di caratteri jolly ricorsivi
Dato il criterio **/*.ext
e i file:
sample1/A.ext
sample1/B.ext
sample2/C.ext
sample2/D.not
Il modello corrisponderà a:
sample1/A.ext
sample1/B.ext
sample2/C.ext
Esempi di criteri di esclusione
Dato il modello:
*
!*.xml
file e :
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
Il modello corrisponderà a:
ConsoleHost.exe
ConsoleHost.pdb
Fabrikam.dll
Fabrikam.pdb
Doppia esclusione
Dato il modello:
*
!*.xml
!!Fabrikam.xml
file e :
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
Il modello corrisponderà a:
ConsoleHost.exe
ConsoleHost.pdb
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
Esclusione cartella
Dato il modello:
**
!sample/**
file e :
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
sample/Fabrikam.dll
sample/Fabrikam.pdb
sample/Fabrikam.xml
Il modello corrisponderà a:
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml