Odwołanie do wzorców dopasowywania plików
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Składnia wzorca
Wzorzec jest ciągiem lub listą ciągów rozdzielanych wierszami. Nazwy plików i katalogów są porównywane z wzorcami do uwzględnienia (lub czasami wykluczania) w zadaniu. Złożone zachowanie można tworzyć, stosując wiele wzorców. Zobacz fnmatch , aby zapoznać się z pełnym przewodnikiem składni.
Dopasuj znaki
Większość znaków jest używana jako dokładne dopasowania. To, co liczy się jako "dokładne" dopasowanie jest zależne od platformy: system plików systemu Windows jest bez uwzględniania wielkości liter, więc wzorzec "ABC" będzie pasował do pliku o nazwie "abc". W systemach plików z uwzględnieniem wielkości liter ten wzorzec i nazwa nie będą zgodne.
Następujące znaki mają specjalne zachowanie.
*
Dopasuje zero lub więcej znaków w nazwie pliku lub katalogu. Zobacz przykłady.?
pasuje do dowolnego pojedynczego znaku w nazwie pliku lub katalogu. Zobacz przykłady.[]
pasuje do zestawu lub zakresu znaków w nazwie pliku lub katalogu. Zobacz przykłady.**
cykliczne symbole wieloznaczne. Na przykład/hello/**/*
pasuje do wszystkich elementów potomnych elementu/hello
.
Rozszerzone globbing
?(hello|world)
- pasujehello
lubworld
zero lub jeden raz*(hello|world)
- zero lub więcej wystąpień+(hello|world)
- co najmniej jedno wystąpienie@(hello|world)
- dokładnie raz!(hello|world)
- niehello
lubworld
Należy pamiętać, że rozszerzone globy nie mogą obejmować separatorów katalogów. Na przykład +(hello/world|other)
jest nieprawidłowy.
Komentarze
Wzorce rozpoczynające się od #
są traktowane jako komentarze.
Wyklucz wzorce
Wiodące !
zmiany znaczenia wzorca dołączania do wykluczenia.
Można uwzględnić wzorzec, wykluczyć jego podzbiór, a następnie ponownie dołączyć podzbiór tego: jest to znane jako wzorzec "przeplatany".
Wiele !
przerzuca znaczenie. Zobacz przykłady.
Przed wykluczeniem należy zdefiniować wzorzec dołączania. Zobacz przykłady.
Ucieczki
Zawijanie znaków specjalnych w programie []
może służyć do ucieczki znaków globu literału w nazwie pliku. Na przykład nazwę hello[a-z]
pliku literału można stosować jako hello[[]a-z]
.
Ukośnik
/
jest używany jako separator ścieżki w systemach Linux i macOS.
W większości przypadków agenci systemu Windows akceptują /
element .
Sytuacje, w których należy użyć separatora systemu Windows (\
) są udokumentowane.
Przykłady
Przykłady podstawowego wzorca
Przykłady gwiazdki
Przykład 1: Biorąc pod uwagę wzorzec *Website.sln
i pliki:
ConsoleHost.sln
ContosoWebsite.sln
FabrikamWebsite.sln
Website.sln
Wzorzec będzie zgodny z następującymi elementami:
ContosoWebsite.sln
FabrikamWebsite.sln
Website.sln
Przykład 2: Biorąc pod uwagę wzorzec *Website/*.proj
i ścieżki:
ContosoWebsite/index.html
ContosoWebsite/ContosoWebsite.proj
FabrikamWebsite/index.html
FabrikamWebsite/FabrikamWebsite.proj
Wzorzec będzie zgodny z następującymi elementami:
ContosoWebsite/ContosoWebsite.proj
FabrikamWebsite/FabrikamWebsite.proj
Przykłady znaków zapytania
Przykład 1: Biorąc pod uwagę wzorzec log?.log
i pliki:
log1.log
log2.log
log3.log
script.sh
Wzorzec będzie zgodny z następującymi elementami:
log1.log
log2.log
log3.log
Przykład 2: Biorąc pod uwagę wzorzec image.???
i pliki:
image.tiff
image.png
image.ico
Wzorzec będzie zgodny z następującymi elementami:
image.png
image.ico
Przykłady zestawów znaków
Przykład 1: Biorąc pod uwagę wzorzec Sample[AC].dat
i pliki:
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
Wzorzec będzie zgodny z następującymi elementami:
SampleA.dat
SampleC.dat
Przykład 2: Biorąc pod uwagę wzorzec Sample[A-C].dat
i pliki:
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
Wzorzec będzie zgodny z następującymi elementami:
SampleA.dat
SampleB.dat
SampleC.dat
Przykład 3: Biorąc pod uwagę wzorzec Sample[A-CEG].dat
i pliki:
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
SampleE.dat
SampleF.dat
SampleG.dat
SampleH.dat
Wzorzec będzie zgodny z następującymi elementami:
SampleA.dat
SampleB.dat
SampleC.dat
SampleE.dat
SampleG.dat
Przykłady cyklicznych symboli wieloznacznych
Biorąc pod uwagę wzorzec **/*.ext
i pliki:
sample1/A.ext
sample1/B.ext
sample2/C.ext
sample2/D.not
Wzorzec będzie zgodny z następującymi elementami:
sample1/A.ext
sample1/B.ext
sample2/C.ext
Przykłady wykluczania wzorca
Biorąc pod uwagę wzorzec:
*
!*.xml
i pliki:
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
Wzorzec będzie zgodny z następującymi elementami:
ConsoleHost.exe
ConsoleHost.pdb
Fabrikam.dll
Fabrikam.pdb
Podwójne wykluczanie
Biorąc pod uwagę wzorzec:
*
!*.xml
!!Fabrikam.xml
i pliki:
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
Wzorzec będzie zgodny z następującymi elementami:
ConsoleHost.exe
ConsoleHost.pdb
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
Wykluczanie folderu
Biorąc pod uwagę wzorzec:
**
!sample/**
i pliki:
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
sample/Fabrikam.dll
sample/Fabrikam.pdb
sample/Fabrikam.xml
Wzorzec będzie zgodny z następującymi elementami:
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml