PowerShell , metinleri, sayıları ve diğer verileri karşılaştırmak için çeşitli karşılaştırma operatörlerini kullanmamıza olanak tanır. Bu yazıda, PowerShell karşılaştırma operatörlerini nasıl kullanabileceğimizi örnekler aracılığıyla anlatacağım.

Powershell ile Metinleri Karşılaştırma
Bir metnin başka bir metne eşit olup olmadığını öğrenmek için “eq” operatörünü kullanabiliriz. Bu operatör büyük-küçük harf duyarsızdır ve karşılaştırma esnasında büyük-küçük harfleri göz ardı eder. Eğer büyük-küçük harf duyarlı bir karşılaştırma yapmak istiyorsak “ceq” operatörünü kullanabiliriz.
“like” operatörü yıldız işaretini joker olarak kullanarak metinlerin başlangıcını, sonunu veya belli bir metin içerip içermediğini kontrol edebiliriz.
#büyük/küçük harfe duyarsız karşılaştırma
write-host ("yesterday" -eq "yesterday")
#true döndürür
#büyük/küçük harfe duyarsız karşılaştırma
write-host ("yesterday" -eq "Yesterday")
#true döndürür
#büyük/küçük harfe duyarlı karşılaştırma
write-host ("yesterday" -ceq "Yesterday")
#büyük Y harfi nedeniyle false döndürür
#'yes' ile başlar
write-host ("yesterday" -like "yes*")
#true döndürür
#'day' ile biter
write-host ("yesterday" -like "*day")
#returns true
#'ter' içerir
write-host ("yesterday" -like "*ter*")
#returns true
Ayrıca, metinler arasında eşit olmayan veya benzer olmayan karşılaştırmalar da yapabiliriz. Örneğin bir metnin başka bir metne eşit olmadığını (-ne) veya benzer olmadığını (-notlike) kontrol edebiliriz.
#büyük/küçük harfe duyarsız karşılaştırma
write-host ("yesterday" -ne "yesterday")
#false döndürür
#büyük/küçük harfe duyarsız karşılaştırma
write-host ("yesterday" -ne "Yesterday")
#false döndürür
#büyük/küçük harfe duyarlı karşılaştırma
write-host ("yesterday" -cne "Yesterday")
# büyük Y harfi nedeniyle true değerini döndürür
#'yes' ile başlar
write-host ("yesterday" -notlike "yes*")
#false döndürür
#'day' ile biter
write-host ("yesterday" -notlike "*day")
#false döndürür
#'ter' içerir
write-host ("yesterday" -notlike "*ter*")
#false döndürür
Powershell ile Sayıları Karşılaştırma
Sayıları karşılaştırırken, bir sayı başka bir sayıya eşit (-eq), büyük (-gt) veya küçük (-lt) olabilir.
write-host (1 -eq 1) #true döndürür write-host (2 -gt 1) #true döndürür write-host (1 -lt 2) #true döndürür
Ayrıca, bir sayının başka bir sayıdan büyük veya eşit (-ge) veya küçük veya eşit (-le) olup olmadığını kontrol edebiliriz.
write-host (1 -ge 1) #true döndürür write-host (2 -le 2) #true döndürür

Ben de sık sık PowerShell script’lerimde -like ve -notlike operatörlerini joker karakterle kullanıyorum; özellikle log dosyalarında belirli bir tarih desenini filtrelerken *day* gibi pattern’ler çok işe yarıyor. Makaledeki örnekler sayesinde bu operatörlerin farkını daha iyi anladım ve script’lerime hemen uyguladım.
Ben de günlük rapor otomasyon scriptlerimde ‘-like’ ve ‘-notlike’ operatörlerini sıkça kullanıyorum; özellikle ‘*day’ kalıbı sayesinde tarih içeren log dosyalarını hızlıca filtreleyebiliyorum. Bu örneklerde gösterdiğiniz gibi büyük/küçük harf duyarlı ‘-ceq’ operatörünü de, hassas veri karşılaştırmalarında güvenle tercih ediyorum.
Ben de günlük otomasyon scriptlerimde sık sık ‘-like’ ve ‘-notlike’ operatörlerini kullanıyorum; özellikle dosya adlarını belirli bir pattern’e göre filtrelerken bu joker karakter çok işime yarıyor. Makaledeki örneklerdeki ‘*day’ ve ‘*ter*’ gibi kullanımlar, scriptlerimi daha okunaklı ve etkili hâle getirmeme yardımcı oldu.
Ben de günlük log dosyalarımı filtrelerken -like ve -notlike operatörlerini kullanıyorum; özellikle “*error*” desenini aramak, hataları hızlıca tespit etmemi sağladı. Ayrıca -ceq ile büyük/küçük harf duyarlı kontroller yapabildiğim için, belirli komutların tam eşleşmesini güvenle kontrol edebiliyorum. Bu örnekler gerçekten işe yarıyor.
Ben de PowerShell script’lerimde -like operatörünü sıkça kullanıyorum; özellikle “*log*” gibi joker karakterlerle log dosyalarını hızlıca filtreleyebiliyorum. Makaledeki örneklerde olduğu gibi, büyük/küçük harf duyarlı karşılaştırma gerektiğinde -ceq operatörünü tercih etmek, dosya adlarında hassas bir eşleşme sağlamak için çok işe yarıyor. Ayrıca, -notlike ile istenmeyen dosya tiplerini dışarıda tutmak, script’lerimin performansını artırıyor.