Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020
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. Aby zapoznać się z pełnym przewodnikiem składni, zobacz fnmatch.
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.
-
*pasuje do zera lub większej liczby 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 podrzędnych/hello.
Rozszerzone globbing
-
?(hello|world)- dopasowaniahellolubworldzero razy 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)— niehelloaniworld
Uwaga / Notatka
Rozszerzone globy nie mogą obejmować separatorów katalogów. Na przykład +(hello/world|other) nie jest prawidłowy.
Komentarze
Wzorce rozpoczynające się od # są traktowane jako komentarze.
Wyklucz wzorce
Wiodący ! zmienia znaczenie 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 wzorcem wykluczania należy zdefiniować wzorzec dołączania. Zobacz przykłady.
Ucieczki
Zawijanie znaków specjalnych w [] może służyć do ucieczki znaków globu literału w nazwie pliku. Na przykład nazwę pliku literału hello[a-z] 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ą /.
Przypadki, w których należy użyć separatora systemu Windows (\) są udokumentowane.
Przykłady
- Przykłady podstawowego wzorca
- Przykłady gwiazdki
- Przykłady znaków zapytania
- Przykłady zestawów znaków
- Przykłady cyklicznych symboli wieloznacznych
- Przykłady wykluczania wzorca
- Przykłady podwójnego wykluczania
- Przykłady wykluczania folderów
Przykłady podstawowego wzorca
Przykłady gwiazdki
Przykład 1: Biorąc pod uwagę wzorzec *Website.sln, i następujące 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 następujące 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 następujące 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 następujące 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 następujące 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 następujące 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 następujące 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
Poniższy przykład został wygenerowany przez Copilot. Copilot jest obsługiwany przez sztuczną inteligencję, więc możliwe są niespodzianki i błędy. Aby uzyskać więcej informacji, zobacz także Copilot często zadawane pytania dotyczące ogólnego użytkowania.
Wzorzec **/*.ext glob jest zaawansowanym wzorcem rekursywnym używanym w wielu systemach plików i narzędziach (takich jak bash, zsh, Python globitp.), aby dopasować wszystkie pliki kończące się w .ext bieżącym katalogu i wszystkich podkatalogach, niezależnie od tego, jak głęboko zagnieżdżone.
Oto kilka przykładowych ścieżek, które pasują do **/*.extelementu :
sample1/A.extsample1/B.extsample2/C.extsample2/subdir1/D.extsample2/subdir1/subdir2/E.extsample3/F.extsample3/subdir3/G.extsample3/subdir3/subdir4/H.ext
Część ** oznacza dowolną liczbę katalogów (w tym zero) i *.ext oznacza dowolny plik kończący się na ..ext
Przykłady wykluczania wzorca
Biorąc pod uwagę następujący wzorzec i następujące pliki:
*
!*.xml
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
Przykłady podwójnego wykluczania
Biorąc pod uwagę następujący wzorzec i następujące pliki:
*
!*.xml
!!Fabrikam.xml
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
Przykłady wykluczania folderów
Biorąc pod uwagę następujący wzorzec i następujące pliki:
**
!sample/**
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