Naslaginformatie over bestandskoppelingspatronen
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Patroonsyntaxis
Een patroon is een tekenreeks of lijst met door nieuwe regels gescheiden tekenreeksen. Bestands- en mapnamen worden vergeleken met patronen om ze in een taak op te nemen (of soms uit te sluiten). U kunt complex gedrag opbouwen door meerdere patronen te stapelen. Zie fnmatch voor een volledige syntaxishandleiding.
Tekens vergelijken
De meeste tekens worden gebruikt als exacte overeenkomsten. Wat telt als een 'exacte' overeenkomst is afhankelijk van het platform: het Windows-bestandssysteem is niet hoofdlettergevoelig, dus het patroon 'ABC' komt overeen met een bestand met de naam 'abc'. In hoofdlettergevoelige bestandssysteemen komt dat patroon en die naam niet overeen.
De volgende tekens hebben een speciaal gedrag.
*
komt overeen met nul of meer tekens binnen de naam van een bestand of map. Zie voorbeelden.?
komt overeen met een willekeurig teken in een bestand of mapnaam. Zie voorbeelden.[]
komt overeen met een set of een reeks tekens binnen de naam van een bestand of map. Zie voorbeelden.**
recursief jokerteken. Komt bijvoorbeeld/hello/**/*
overeen met alle afstammelingen van/hello
.
Uitgebreide globbing
?(hello|world)
- overeenkomstenhello
ofworld
nul of één keer*(hello|world)
- nul of meer exemplaren+(hello|world)
- een of meer exemplaren@(hello|world)
- precies één keer!(hello|world)
- niethello
ofworld
Houd er rekening mee dat uitgebreide globs geen adreslijstscheidingstekens kunnen omvatten. Is bijvoorbeeld +(hello/world|other)
ongeldig.
Opmerkingen
Patronen die beginnen, #
worden behandeld als opmerkingen.
Patronen uitsluiten
Voorloop !
verandert de betekenis van een include-patroon dat moet worden uitgesloten.
U kunt een patroon opnemen, een subset ervan uitsluiten en vervolgens een subset hiervan opnieuw opnemen: dit wordt een 'interleaved'-patroon genoemd.
Meerdere !
spiegelt de betekenis. Zie voorbeelden.
U moet een insluitingspatroon definiëren voordat een uitsluitingspatroon wordt uitgesloten. Zie voorbeelden.
Ontsnappen
Speciale tekens []
verpakken kan worden gebruikt om letterlijke glob-tekens in een bestandsnaam te ontsnappen. De letterlijke bestandsnaam hello[a-z]
kan bijvoorbeeld worden ontsnapt als hello[[]a-z]
.
Slash
/
wordt gebruikt als padscheidingsteken in Linux en macOS.
Meestal accepteren /
Windows-agents .
Gelegenheden waarin het Windows-scheidingsteken (\
) moet worden gebruikt, worden gedocumenteerd.
Voorbeelden
Voorbeelden van basispatronen
Voorbeelden van sterretjes
Voorbeeld 1: Gegeven het patroon *Website.sln
en de bestanden:
ConsoleHost.sln
ContosoWebsite.sln
FabrikamWebsite.sln
Website.sln
Het patroon komt overeen met:
ContosoWebsite.sln
FabrikamWebsite.sln
Website.sln
Voorbeeld 2: Gegeven het patroon *Website/*.proj
en de paden:
ContosoWebsite/index.html
ContosoWebsite/ContosoWebsite.proj
FabrikamWebsite/index.html
FabrikamWebsite/FabrikamWebsite.proj
Het patroon komt overeen met:
ContosoWebsite/ContosoWebsite.proj
FabrikamWebsite/FabrikamWebsite.proj
Voorbeelden van vraagtekens
Voorbeeld 1: Gegeven het patroon log?.log
en de bestanden:
log1.log
log2.log
log3.log
script.sh
Het patroon komt overeen met:
log1.log
log2.log
log3.log
Voorbeeld 2: Gegeven het patroon image.???
en de bestanden:
image.tiff
image.png
image.ico
Het patroon komt overeen met:
image.png
image.ico
Voorbeelden van tekenset
Voorbeeld 1: Gegeven het patroon Sample[AC].dat
en de bestanden:
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
Het patroon komt overeen met:
SampleA.dat
SampleC.dat
Voorbeeld 2: Gegeven het patroon Sample[A-C].dat
en de bestanden:
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
Het patroon komt overeen met:
SampleA.dat
SampleB.dat
SampleC.dat
Voorbeeld 3: Gegeven het patroon Sample[A-CEG].dat
en de bestanden:
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
SampleE.dat
SampleF.dat
SampleG.dat
SampleH.dat
Het patroon komt overeen met:
SampleA.dat
SampleB.dat
SampleC.dat
SampleE.dat
SampleG.dat
Recursieve jokertekens
Gegeven het patroon **/*.ext
en de bestanden:
sample1/A.ext
sample1/B.ext
sample2/C.ext
sample2/D.not
Het patroon komt overeen met:
sample1/A.ext
sample1/B.ext
sample2/C.ext
Voorbeelden van uitsluitingspatronen
Gegeven het patroon:
*
!*.xml
en bestanden:
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
Het patroon komt overeen met:
ConsoleHost.exe
ConsoleHost.pdb
Fabrikam.dll
Fabrikam.pdb
Dubbele uitsluiting
Gegeven het patroon:
*
!*.xml
!!Fabrikam.xml
en bestanden:
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
Het patroon komt overeen met:
ConsoleHost.exe
ConsoleHost.pdb
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
Map uitsluiten
Gegeven het patroon:
**
!sample/**
en bestanden:
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
sample/Fabrikam.dll
sample/Fabrikam.pdb
sample/Fabrikam.xml
Het patroon komt overeen met:
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml