Aracılığıyla paylaş


Cmdlet Parametrelerinde Joker Karakteri Destekleme

Genellikle, tek bir kaynak yerine bir kaynak grubuna karşı çalışacak bir cmdlet tasarlamanız gerekir. Örneğin, bir cmdlet'in aynı ada veya uzantıya sahip bir veri deposundaki tüm dosyaları bulması gerekebilir. Bir kaynak grubunda çalıştırılacak bir cmdlet tasarlarken joker karakterler için destek sağlamanız gerekir.

Uyarı

Joker karakterlerin kullanılması bazen globbingolarak adlandırılır.

Joker Karakter Kullanan Windows PowerShell Cmdlet'leri

Birçok Windows PowerShell cmdlet'i parametre değerleri için joker karakterleri destekler. Örneğin, Name veya Path parametresi olan hemen her cmdlet bu parametreler için joker karakterleri destekler. (Path parametresi olan cmdlet'lerin çoğunda joker karakterleri desteklemeyen bir LiteralPath parametresi de olsa.) Aşağıdaki komut, geçerli oturumda adı Get fiilini içeren tüm cmdlet'leri döndürmek için joker karakterin nasıl kullanıldığını gösterir.

Get-Command get-*

Desteklenen Joker Karakterler

Windows PowerShell aşağıdaki joker karakterleri destekler.

Joker karakter Açıklama Örnek Eşleşmeler Eşleşmiyor
* Belirtilen konumdan başlayarak sıfır veya daha fazla karakterle eşleşir a* A, ag, Apple
? Belirtilen konumdaki herhangi bir karakterle eşleşir ?n An, in, on Koştu
[ ] Bir karakter aralığıyla eşleşir [a-l]ook kitap, aşçı, bak nook, took
[ ] Belirtilen karakterlerle eşleşir [bn]ook kitap, nook aşçı, bak

Joker karakterleri destekleyen cmdlet'ler tasarlarken, joker karakter birleşimlerine izin verin. Örneğin, aşağıdaki komut C:\Techdocs klasöründeki ve "a" ile "l" arasında başlayan tüm .txt dosyalarını almak için Get-ChildItem cmdlet'ini kullanır.

Get-ChildItem C:\techdocs\[a-l]\*.txt

Önceki komut, dosya adının "a" ile "l" arasındaki karakterlerle başlaması gerektiğini belirtmek için aralık joker [a-l] kullanır ve dosya adının ilk harfi ile .txt uzantısı arasındaki tüm karakterler için yer tutucu olarak * joker karakterini kullanır.

Aşağıdaki örnek, "d" harfini dışlayan ancak "a" ile "f" arasında kalan tüm diğer harfleri içeren bir aralık joker karakteri deseni kullanır.

Get-ChildItem C:\techdocs\[a-cef]\*.txt

Joker Karakter Desenlerinde Değişmez Karakterleri İşleme

Belirttiğiniz joker karakter deseni joker karakter olarak yorumlanmaması gereken değişmez karakterler içeriyorsa, kaçış karakteri olarak backtick karakterini (`) kullanın. PowerShell API'sinde değişmez karakterler belirttiğinizde tek bir arka uç kullanın. PowerShell komut isteminde değişmez karakterler belirttiğinizde iki arka uç kullanın.

Örneğin, aşağıdaki desen tam anlamıyla alınması gereken iki köşeli ayraç içerir.

PowerShell API'sinde kullanıldığında şunları kullanın:

  • "John Smith '[*']"

PowerShell komut isteminden kullanıldığında:

  • "John Smith ''[*'']"

Bu desen "John Smith [Pazarlama]" veya "John Smith [Geliştirme]" ile eşleşir. Örneğin:

PS> "John Smith [Marketing]" -like "John Smith ``[*``]"
True

PS> "John Smith [Development]" -like "John Smith ``[*``]"
True

Cmdlet Çıkışı ve Joker Karakterler

Cmdlet parametreleri joker karakterleri desteklediğinde, işlem genellikle bir dizi çıkışı oluşturur. Bazen, kullanıcı yalnızca tek bir öğe kullanabileceğinden bir dizi çıkışını desteklemek mantıklı değildir. Örneğin, Set-Location cmdlet'i, kullanıcı yalnızca tek bir konum ayarladığından dizi çıkışını desteklemez. Bu örnekte, cmdlet joker karakterleri desteklemeye devam eder, ancak çözünürlüğü tek bir konuma zorlar.

Ayrıca Bkz.

Windows PowerShell Cmdlet'i yazma

WildcardPattern Sınıfı