Değişkenin PowerShell'de Dize içerip içermediğini kontrol edin
-like ve -match operatörlerini ve Contains yöntemini kullanarak, PowerShell'de değişkenin dize içerip içermediğini kontrol edebilirsiniz.
Bir değişkenin, koşullu bir ifade oluşturmada çok önemli olabilecek belirli bir dize veya kalıp içerip içermediğini kontrol etmek, bir komut dosyasıyla çalışırken çok önemlidir ve sıklıkla gereklidir.
Bu makalede, bir değişkenin belirli bir alt dize içerip içermediğini kontrol etmek için Like, Match operatörleri ve Container() yönteminin nasıl kullanılacağını tartışacağız.
Değişken Dize İçeriyorsa -like Operatörünü Kullanmak
PowerShell değişkenindeki joker karakterli -like operatörü, dizeleri karşılaştırmak ve bir değişkenin dize içerip içermediğini bulmak için kullanılabilir.
$greetings = "Hello! Welcome to ShellGeek website."
if($greetings -like "*Shell*" )
{
Write-Host "The variable contains the word 'ShellGeek'."
} Yukarıdaki PowerShell betiğinde, $greetings değişkeni bir dize veri türünün değerini saklar.
Bir değişkenin belirli bir alt dize içerip içermediğini kontrol etmek için, * joker karakterleri içeren benzeri operatörünü kullanan bir if ifadesi kullandık. Koşul doğru olarak değerlendirilirse, mesajı if ifadesinin içinde yazdırır.
Yukarıdaki betiğin çıktısı, bir değişken içindeki alt dizeyi bulur ve bunu konsola yazdırır.
The variable contains the word 'ShellGeek'.Değişken Dize İçeriyorsa -match Operatörünü Kullanmak
PowerShell'deki -match operatörü, eşleşen modelleri bulmak için normal ifade kullanmanıza olanak tanır.
$greetings = "Hello! Welcome to ShellGeek website."
if($greetings -match "Shel[la]Gee[ke]" )
{
Write-Host "The variable contains a variations of the word 'ShellGeek'."
} Yukarıdaki PowerShell betiği, dizeleri karşılaştırmak ve kalıp eşleşmesini bulmak için -match operatörünü normal ifadeyle birlikte kullanır.
Yukarıdaki betiğin çıktısı:
The variable contains a variations of the word 'ShellGeek'.Bir Değişkenin Alt Dize İçerip içermediğini Kontrol Etmek için İçerme yöntemini kullanma
Bir değişkenin belirtilen dizeyi içerip içermediğini kontrol etmek için Contains() yöntemini kullanın.
$greetings = "Hello! Welcome to ShellGeek website."
if( $greetings.Contains("ShellGeek"))
{
Write-Host "The variable contains the word 'ShellGeek'."
}Yukarıdaki PowerShell betiğinde Contains yöntemi, değişkenin içini kontrol etmek üzere giriş parametresi olarak bir dize alır.
Yukarıdaki betiğin çıktısı:
The variable contains the word 'ShellGeek'.Çözüm
Bir değişkenin -like, -match operatörünü ve Container yöntemini kullanarak bir dize içerip içermediğini kontrol etmeyle ilgili yukarıdaki makalenin size yardımcı olacağını umuyorum.
PowerShell Active Directory komutları ve PowerShell temelleri hakkında daha fazla konuyu ShellGeek ana sayfasında bulabilirsiniz.