Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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. Per una guida completa alla sintassi, vedere fnmatch.
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 singolo carattere 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 volte o una sola volta -
*(hello|world)
- zero o più occorrenze -
+(hello|world)
: una o più occorrenze -
@(hello|world)
- esattamente una volta -
!(hello|world)
: nonhello
oworld
Annotazioni
I glob estesi non possono estendersi a separatori di directory. Ad esempio, +(hello/world|other)
non è valido.
Commenti
I modelli che iniziano con #
vengono considerati come commenti.
Escludere i modelli
L'!
iniziale modifica 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 un criterio di esclusione. 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 di file letterale hello[a-z]
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
- Esempi di punto interrogativo
- Esempi di set di caratteri
- Esempi di caratteri jolly ricorsivi
- Esempi di criteri di esclusione
- Esempi di esclusione doppia
- Esempi di esclusione di cartelle
Esempi di criteri di base
Esempi di asterisco
Esempio 1: Dato il modello *Website.sln
e i file seguenti:
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 modello log?.log
e i file seguenti:
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 seguenti:
image.tiff
image.png
image.ico
Il modello corrisponderà a:
image.png
image.ico
Esempi di set di caratteri
Esempio 1: Dato il modello Sample[AC].dat
e i file seguenti:
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 seguenti:
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 seguenti:
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 modello **/*.ext
e i file seguenti:
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
L'esempio seguente è stato generato da Copilot. Copilot è alimentato dall'IA, quindi sono possibili sorprese ed errori. Per altre informazioni, vedere Domande frequenti sull'uso generale di Copilot.
Il **/*.ext
modello GLOB è un potente modello ricorsivo usato in molti file system e strumenti (ad esempio bash
, zsh
, Python glob
e così via) per trovare le corrispondenze con tutti i file che terminano nella .ext
directory corrente e in tutte le sottodirectory, indipendentemente dal livello di annidamento profondo.
Ecco alcuni percorsi di esempio che corrispondono **/*.ext
a :
sample1/A.ext
sample1/B.ext
sample2/C.ext
sample2/subdir1/D.ext
sample2/subdir1/subdir2/E.ext
sample3/F.ext
sample3/subdir3/G.ext
sample3/subdir3/subdir4/H.ext
La **
parte indica un numero qualsiasi di directory (incluso zero) e *.ext
indica qualsiasi file che termina con .ext
.
Esempi di criteri di esclusione
In base al modello seguente e ai file seguenti:
*
!*.xml
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
Il modello corrisponderà a:
ConsoleHost.exe
ConsoleHost.pdb
Fabrikam.dll
Fabrikam.pdb
Esempi di esclusione doppia
In base al modello seguente e ai file seguenti:
*
!*.xml
!!Fabrikam.xml
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
Esempi di esclusione di cartelle
In base al modello seguente e ai file seguenti:
**
!sample/**
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