Delen via


Verwijzing naar overeenkomende patronen voor bestanden

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 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 binnen de naam van een bestand of map. Zie voorbeelden.
  • [] komt overeen met een reeks tekens binnen een bestands- of mapnaam. Zie voorbeelden.
  • ** recursief jokerteken. /hello/**/* komt bijvoorbeeld overeen met alle afstammelingen van /hello.

Uitgebreide globbing

  • ?(hello|world) - komt overeen met hello of world nul of één keer
  • *(hello|world) - nul of meer exemplaren
  • +(hello|world) - een of meer exemplaren
  • @(hello|world) - precies één keer
  • !(hello|world) - niet hello of world

Houd er rekening mee dat uitgebreide globs geen adreslijstscheidingstekens kunnen omvatten. +(hello/world|other) is bijvoorbeeld ongeldig.

Opmerkingen

Patronen die beginnen met # 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 in [] kunnen worden gebruikt om letterlijke globtekens 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. In de meeste tijd 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 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 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 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 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 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 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 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

Gezien het patroon **/*.ext en 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