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ştira*,aA,agveAppleile eşleşir
a*,muzile eşleşmiyor
? - Dizeler için o konumdaki bir karakterle eşleşir
?n,an,inveonile 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.txtveb.txtile eşleşir
?.txt, ab.txt ile eşleşmiyor[ ] - Bir dizi karakteri eşleştir
[a-l]ook,book,cookvelookile eşleşir
[a-l]ook, aldı ile eşleşmiyor[ ] - Belirli karakterleri eşleştir
[bc]ook,bookvecookile 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*4ile eşleşir
12`*4, 1234 ile eşleşmiyorAynı 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