Aracılığıyla paylaş


Dosya eşleştirme desenleri başvurusu

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Desen söz dizimi

Desen, yeni satırla ayrılmış dizelerin bir dizesi veya listesidir. Dosya ve dizin adları, bunları göreve dahil etmek (veya bazen hariç tutmak) için desenlerle karşılaştırılır. Birden çok deseni yığarak karmaşık davranışlar oluşturabilirsiniz. Tam söz dizimi kılavuzu için bkz. fnmatch.

Karakterleri eşleştir

Karakterlerin çoğu tam eşleşme olarak kullanılır. "Tam" eşleşme olarak sayılan şey platforma bağlıdır: Windows dosya sistemi büyük/küçük harfe duyarlı değildir, bu nedenle "ABC" deseni "abc" adlı bir dosyayla eşleşir. Büyük/küçük harfe duyarlı dosya sistemlerinde bu düzen ve ad eşleşmez.

Aşağıdaki karakterlerin özel davranışları vardır.

  • * bir dosya veya dizin adı içindeki sıfır veya daha fazla karakterle eşleşir. örneklerine bakın.
  • ? bir dosya veya dizin adı içindeki tek bir karakterle eşleşir. örneklerine bakın.
  • [] bir dosya veya dizin adı içindeki karakter kümesi veya aralığıyla eşleşir. örneklerine bakın.
  • Özyinelemeli joker karakter **. Örneğin, /hello/**/* tüm /helloalt öğeleriyle eşleşir.

Genişletilmiş globbing

  • ?(hello|world) - eşleşmeler hello veya world sıfır kez ya da bir kez
  • *(hello|world) - sıfır veya daha fazla oluşum
  • +(hello|world) - bir veya daha fazla oluşum
  • @(hello|world) - tam olarak bir kez
  • !(hello|world) - hello veya world değil

Uyarı

Genişletilmiş glob'lar dizin ayırıcılarına yayılamaz. Örneğin, +(hello/world|other) geçerli değil.

Yorumlar

# ile başlayan desenler açıklama olarak değerlendirilir.

Dışlama desenleri

Baştaki !, dahil etme deseninin anlamını dışlamak üzere değiştirir. Bir desen ekleyebilir, bir alt kümesini dışlayabilir ve ardından bunun bir alt kümesini yeniden ekleyebilirsiniz: bu, "araya katılmış" desen olarak bilinir.

Birden çok ! anlamı çevirir. örneklerine bakın.

Dışlama deseni öncesinde ekleme deseni tanımlamanız gerekir. örneklerine bakın.

Kaçan

[]'de özel karakterleri sarmalama, bir dosya adındaki değişmez değer glob karakterlerini atlamak için kullanılabilir. Örneğin, sabit dosya adı hello[a-z]hello[[]a-z]olarak değiştirilebilir.

Eğik çizgi

/, Linux ve macOS'ta yol ayırıcı olarak kullanılır. Çoğu zaman Windows aracıları /kabul etti. Windows ayırıcısının (\) kullanılması gereken durumlar belgelenir.

Örnekler

Temel desen örnekleri

Yıldız örnekleri

Örnek 1: deseni *Website.slnve aşağıdaki dosyalar göz önünde bulundurulduğunda:

ConsoleHost.sln
ContosoWebsite.sln
FabrikamWebsite.sln
Website.sln

Desen eşleşir:

ContosoWebsite.sln
FabrikamWebsite.sln
Website.sln

Örnek 2: Desen *Website/*.proj ve yollar göz önünde bulundurulduğunda:

ContosoWebsite/index.html
ContosoWebsite/ContosoWebsite.proj
FabrikamWebsite/index.html
FabrikamWebsite/FabrikamWebsite.proj

Desen eşleşir:

ContosoWebsite/ContosoWebsite.proj
FabrikamWebsite/FabrikamWebsite.proj

Soru işareti örnekleri

Örnek 1: deseni log?.logve aşağıdaki dosyalar göz önünde bulundurulduğunda:

log1.log
log2.log
log3.log
script.sh

Desen eşleşir:

log1.log
log2.log
log3.log

Örnek 2: deseni image.???ve aşağıdaki dosyalar göz önünde bulundurulduğunda:

image.tiff
image.png
image.ico

Desen eşleşir:

image.png
image.ico

Karakter kümesi örnekleri

Örnek 1: deseni Sample[AC].datve aşağıdaki dosyalar göz önünde bulundurulduğunda:

SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat

Desen eşleşir:

SampleA.dat
SampleC.dat

Örnek 2: deseni Sample[A-C].datve aşağıdaki dosyalar göz önünde bulundurulduğunda:

SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat

Desen eşleşir:

SampleA.dat
SampleB.dat
SampleC.dat

Örnek 3: deseni Sample[A-CEG].datve aşağıdaki dosyalar göz önünde bulundurulduğunda:

SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
SampleE.dat
SampleF.dat
SampleG.dat
SampleH.dat

Desen eşleşir:

SampleA.dat
SampleB.dat
SampleC.dat
SampleE.dat
SampleG.dat

Özyinelemeli joker karakter örnekleri

deseni **/*.extve aşağıdaki dosyalar göz önünde bulundurulduğunda:

sample1/A.ext
sample1/B.ext
sample2/C.ext
sample2/D.not

Desen eşleşir:

sample1/A.ext
sample1/B.ext
sample2/C.ext

Aşağıdaki örnek Copilot tarafından oluşturulmuştur. Copilot yapay zeka ile desteklendiğinden sürprizler ve hatalar mümkündür. Daha fazla bilgi için bkz. Copilot sıkça sorulan sorular.

**/*.ext Glob deseni, ne kadar iç içe geçmiş olursa olsun geçerli dizinde ve tüm alt dizinlerde biten tüm dosyaları eşleştirmek için birçok dosya sisteminde ve araçta .ext (, bashzshPython glob, vb.) kullanılan güçlü bir özyinelemeli desendir.

Aşağıda, ile eşleşebilecek **/*.extbazı örnek yollar verilmiştir:

  • sample1/A.ext
  • sample1/B.ext
  • sample2/C.ext
  • sample2/subdir1/D.ext
  • sample2/subdir1/subdir2/E.ext
  • sample3/F.ext
  • sample3/subdir3/G.ext
  • sample3/subdir3/subdir4/H.ext

bölümü ** , herhangi bir sayıda dizin (sıfır dahil) ve *.ext ile .extbiten herhangi bir dosya anlamına gelir.

Dışlama deseni örnekleri

Aşağıdaki desen ve aşağıdaki dosyalar göz önünde bulundurulduğunda:

*
!*.xml
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml

Desen eşleşir:

ConsoleHost.exe
ConsoleHost.pdb
Fabrikam.dll
Fabrikam.pdb

Çift dışlama örnekleri

Aşağıdaki desen ve aşağıdaki dosyalar göz önünde bulundurulduğunda:

*
!*.xml
!!Fabrikam.xml
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml

Desen eşleşir:

ConsoleHost.exe
ConsoleHost.pdb
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml

Klasör dışlama örnekleri

Aşağıdaki desen ve aşağıdaki dosyalar göz önünde bulundurulduğunda:

**
!sample/**
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
sample/Fabrikam.dll
sample/Fabrikam.pdb
sample/Fabrikam.xml

Desen eşleşir:

ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml