Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020
Mönstersyntax
Ett mönster är en sträng eller lista med nya, avgränsade strängar. Fil- och katalognamn jämförs med mönster som ska inkludera (eller ibland exkludera) dem i en uppgift. Du kan skapa komplexa beteenden genom att stapla flera mönster. En fullständig syntaxguide finns i fnmatch.
Matcha tecken
De flesta tecken används som exakta matchningar. Det som räknas som en "exakt" matchning är plattformsberoende: Windows-filsystemet är skiftlägeskänsligt, så mönstret "ABC" skulle matcha en fil med namnet "abc". På skiftlägeskänsliga filsystem matchar inte det mönstret och namnet.
Följande tecken har ett särskilt beteende.
-
*matchar noll eller fler tecken i ett fil- eller katalognamn. Se exempel. -
?matchar ett enskilt tecken i ett fil- eller katalognamn. Se exempel. -
[]matchar en uppsättning eller ett intervall med tecken i ett fil- eller katalognamn. Se exempel. -
**rekursiv jokertecken. Till exempel matchar/hello/**/*alla underordnade/hello.
Utökad globbning
-
?(hello|world)– matchningarhelloellerworldnoll gånger eller en gång -
*(hello|world)– noll eller fler förekomster -
+(hello|world)– en eller flera förekomster -
@(hello|world)- exakt en gång -
!(hello|world)– intehelloellerworld
Anmärkning
Utökade glober kan inte sträcka sig över katalogavgränsare. Är till exempel +(hello/world|other) inte giltigt.
Kommentarer
Mönster som börjar med # behandlas som kommentarer.
Exkludera mönster
Inledande ! ändrar innebörden av ett inkluderingsmönster som ska undantas.
Du kan inkludera ett mönster, exkludera en delmängd av det och sedan ta med en delmängd av det igen: detta kallas för ett "interfolierat" mönster.
Flera ! vänder innebörden. Se exempel.
Du måste definiera ett inkluderingsmönster innan ett exkluderingsmönster. Se exempel.
Fly
Omslutning av specialtecken i [] kan användas för att undkomma literala globtecken i ett filnamn. Till exempel kan det literala filnamnet hello[a-z] undantagas som hello[[]a-z].
Snedstreck
/ används som sökvägsavgränsare i Linux och macOS.
För det mesta accepterar Windows-agenter /.
Tillfällen då Windows-avgränsaren (\) måste användas dokumenteras.
Exempel
- Exempel på grundläggande mönster
- Asteriskexempel
- Exempel på frågetecken
- Exempel på teckenuppsättning
- Rekursiva jokerteckenexempel
- Exkludera mönsterexempel
- Exempel på dubbel exkludera
- Exempel på undantag av mapp
Exempel på grundläggande mönster
Asteriskexempel
Exempel 1: Med tanke på mönstret *Website.slnoch följande filer:
ConsoleHost.sln
ContosoWebsite.sln
FabrikamWebsite.sln
Website.sln
Mönstret skulle matcha:
ContosoWebsite.sln
FabrikamWebsite.sln
Website.sln
Exempel 2: Med tanke på mönstret *Website/*.proj och sökvägar:
ContosoWebsite/index.html
ContosoWebsite/ContosoWebsite.proj
FabrikamWebsite/index.html
FabrikamWebsite/FabrikamWebsite.proj
Mönstret skulle matcha:
ContosoWebsite/ContosoWebsite.proj
FabrikamWebsite/FabrikamWebsite.proj
Exempel på frågetecken
Exempel 1: Med tanke på mönstret log?.logoch följande filer:
log1.log
log2.log
log3.log
script.sh
Mönstret skulle matcha:
log1.log
log2.log
log3.log
Exempel 2: Med tanke på mönstret image.???och följande filer:
image.tiff
image.png
image.ico
Mönstret skulle matcha:
image.png
image.ico
Exempel på teckenuppsättning
Exempel 1: Med tanke på mönstret Sample[AC].datoch följande filer:
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
Mönstret skulle matcha:
SampleA.dat
SampleC.dat
Exempel 2: Med tanke på mönstret Sample[A-C].datoch följande filer:
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
Mönstret skulle matcha:
SampleA.dat
SampleB.dat
SampleC.dat
Exempel 3: Med tanke på mönstret Sample[A-CEG].datoch följande filer:
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
SampleE.dat
SampleF.dat
SampleG.dat
SampleH.dat
Mönstret skulle matcha:
SampleA.dat
SampleB.dat
SampleC.dat
SampleE.dat
SampleG.dat
Rekursiva jokerteckenexempel
Med tanke på mönstret **/*.extoch följande filer:
sample1/A.ext
sample1/B.ext
sample2/C.ext
sample2/D.not
Mönstret skulle matcha:
sample1/A.ext
sample1/B.ext
sample2/C.ext
Följande exempel genererades av Copilot. Copilot drivs av AI, så överraskningar och misstag är möjliga. Mer information finns i vanliga frågor och svar om användning av Copilot.
**/*.ext globmönstret är ett kraftfullt rekursivt mönster som används i många filsystem och verktyg (som bash, zsh, Python globosv.) för att matcha alla filer som slutar i .ext den aktuella katalogen och alla underkataloger, oavsett hur djupt kapslade.
Här är några exempelsökvägar som skulle matcha **/*.ext:
sample1/A.extsample1/B.extsample2/C.extsample2/subdir1/D.extsample2/subdir1/subdir2/E.extsample3/F.extsample3/subdir3/G.extsample3/subdir3/subdir4/H.ext
Delen ** innebär valfritt antal kataloger (inklusive noll) och *.ext innebär alla filer som slutar i .ext.
Exkludera mönsterexempel
Med följande mönster och följande filer:
*
!*.xml
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
Mönstret skulle matcha:
ConsoleHost.exe
ConsoleHost.pdb
Fabrikam.dll
Fabrikam.pdb
Exempel på dubbel exkludera
Med följande mönster och följande filer:
*
!*.xml
!!Fabrikam.xml
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
Mönstret skulle matcha:
ConsoleHost.exe
ConsoleHost.pdb
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
Exempel på undantag av mapp
Med följande mönster och följande filer:
**
!sample/**
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
sample/Fabrikam.dll
sample/Fabrikam.pdb
sample/Fabrikam.xml
Mönstret skulle matcha:
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml