about_Wildcards

Kısa açıklama

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

Uzun açıklama

Joker karakterler bir veya birden çok karakteri temsil eden karakterlerdir. Komutlarda sözcük desenleri oluşturmak için bunları kullanabilirsiniz. Joker karakter ifadeleri işleciyle -like veya joker karakter kabul eden herhangi bir parametreyle kullanılır.

Örneğin, dizindeki C:\Techdocs tüm dosyaları bir .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, dosya adı uzantısından .ppt ö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 karakter eşleştir
    • a*, agve ile eşleşir aAApple
    • a* eşleşmiyor banana
  • ? - Bu konumdaki bir karakteri eşleştir
    • ?n, inve ile eşleşir anon
    • ?n eşleşmiyor ran
  • [ ] - Karakter aralığını eşleştirme
    • [a-l]ook, cookve ile eşleşir booklook
    • [a-l]ook eşleşmiyor took
  • [ ] - Belirli karakterleri eşleştir
    • [bc]ook eşleşmeler book ve cook
    • [bc]ook eşleşmiyor hook
  • `* - Herhangi bir karakteri değişmez değer (joker karakter değil) olarak eşleştirin
    • 12`*4 Eşleşen 12*4
    • 12`*4 eşleşmiyor 1234

Aynı sözcük düzenine birden çok joker karakter ekleyebilirsiniz. Örneğin, adları a ile l arasında olan harflerle başlayan metin dosyalarını bulmak için şunu yazın:

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

Bunu joker karakter olarak işlemek yerine değişmez karakterle eşleştirmek istediğiniz durumlar olabilir. Böyle durumlarda, joker karakterden kurtulmak için ters köşe` () karakterini kullanabilirsiniz, böylece sabit karakter değeri kullanılarak karşılaştırılır. Örneğin, '*hello`?*' "hello" içeren dizelerle eşleşir.

Birçok cmdlet parametre değerlerinde joker karakterleri kabul eder. Her cmdlet'in Yardım konusu, hangi parametrelerin joker karakterleri kabul ettiği açıklanmaktadır. Joker karakterleri kabul eden parametreler için kullanımları büyük/küçük harfe duyarlı değildir.

Komutlarda ve betik bloklarında, örneğin özellik değerlerini temsil eden bir sözcük deseni oluşturmak için joker karakterler kullanabilirsiniz. Örneğin, aşağıdaki komut ServiceType özellik değerinin Interactive içerdiği hizmetleri alır.

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

Aşağıdaki örnekte deyimi, If özellik değerlerini bulmak için joker karakterler kullanan bir koşul içerir. Geri yükleme noktasının AçıklamasıPowerShell 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 bkz.