Joker karakterler hakkında


Kısa açıklama

PowerShell'de joker karakterlerin nasıl kullanılacağını açıklar.

Uzun açıklama

Joker karakterler bir veya daha fazla karakteri temsil eder. Bunları komutlarda kelime kalıpları oluşturmak için kullanabilirsiniz. Joker karakter ifadeleri, -benzeri operatörüyle veya joker karakterleri kabul eden herhangi bir parametreyle kullanılır.

Örneğin, C:\Techdocs dizinindeki tüm dosyaları .ppt dosya adı uzantısıyla eşleştirmek için şunu yazın:

Get-ChildItem C:\Techdocs\*.ppt

Bu durumda, yıldız işareti (*) joker karakteri, .ppt dosya adı uzantısından önce görünen tüm karakterleri temsil eder.

Joker karakter ifadeleri normal ifadelerden daha basittir. Daha fazla bilgi için bkz. about_Regular_Expressions.

PowerShell aşağıdaki joker karakterleri destekler:

  • * - Sıfır veya daha fazla karakteri eşleştir

    • a*, aA, ag ve Apple ile eşleşir
    • a*, muz ile eşleşmiyor
  • ? - Dizeler için o konumdaki bir karakterle eşleşir

    • ?n, an, in ve on ile eşleşir
    • ?n, ran ile eşleşmiyor
  • ? - Dosyalar ve dizinler için bu konumdaki sıfır veya bir karakteri eşleştirin

    • ?.txt, a.txt ve b.txt ile eşleşir
    • ?.txt, ab.txt ile eşleşmiyor
  • [ ] - Bir dizi karakteri eşleştir

    • [a-l]ook, book, cook ve look ile eşleşir
    • [a-l]ook, aldı ile eşleşmiyor
  • [ ] - Belirli karakterleri eşleştir

    • [bc]ook, book ve cook ile eşleşir
    • [bc]ook, kanca ile eşleşmiyor
  • `* - Herhangi bir karakteri değişmez değer olarak eşleştirir (joker karakter olarak değil)

    • 12`*4, 12*4 ile eşleşir
    • 12`*4, 1234 ile eşleşmiyor

Aynı sözcük kalıbına birden fazla joker karakter ekleyebilirsiniz. Örneğin, a ile l arasındaki harflerle başlayan adlara sahip metin dosyalarını bulmak için şunu yazın:

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

Not

Dosya sistemi öğeleri için joker karakter eşleştirmesi, dizelerden farklı şekilde çalışır. Daha fazla bilgi için DirectoryInfo.GetFiles(String, EnumerationOptions) yönteminin Açıklamalar bölümüne bakın.

Gerçek karakteri joker karakter olarak ele almak yerine eşleştirmek istediğiniz durumlar olabilir. Bu durumlarda, değişmez karakter değeri kullanılarak karşılaştırılabilmesi için joker karakterden kaçmak için geri tıklama (`) karakterini kullanabilirsiniz. Örneğin, '*hello`?*', "hello?" ifadesini içeren dizelerle eşleşir.

Çoğu cmdlet, parametre değerlerinde joker karakterleri kabul eder. Her cmdlet'in Yardım konusu, hangi parametrelerin joker karakterleri kabul ettiğini açıklar. Joker karakter kabul eden parametreler için bunların kullanımı büyük/küçük harfe duyarlı değildir.

Özellik değerlerini temsil eden bir sözcük modeli oluşturmak gibi komutlarda ve kod bloklarında joker karakterler kullanabilirsiniz. Örneğin, aşağıdaki komut, ServiceType özellik değerinin Etkileşimli'yi içerdiği hizmetleri alır.

Get-Service | Where-Object {$_.ServiceType -Like "*Interactive*"}

Aşağıdaki örnekte, If ifadesi, özellik değerlerini bulmak için joker karakterler kullanan bir koşul içerir. Geri yükleme noktasının Açıklaması, PowerShell'i içeriyorsa komut, geri yükleme noktasının CreationTime özelliğinin değerini bir günlük dosyasına ekler.

$p = Get-ComputerRestorePoint
foreach ($point in $p) {
  if ($point.description -like "*PowerShell*") {
    Add-Content -Path C:\TechDocs\RestoreLog.txt "$($point.CreationTime)"
  }
}

Ayrıca bakınız

  • about_If
  • about_Language_Keywords
  • about_Script_Blocks

İlgili makaleler