PowerShell Where-Object Cmdlet'ini Kullanarak Boş Değerleri Filtreleme
PowerShell'de verilerle çalışırken boş dizeler, boş değerler veya boş diziler gibi boş değerlerle karşılaşmak yaygın bir durumdur. Bunlar veri işlemeyi etkileyebilir ve filtrelenmeleri gerekebilir. PowerShell, nesneleri özellik değerlerine göre filtrelemek için kullanılabilecek güçlü bir Where-Object cmdlet'i sağlar. Bu PowerShell eğitiminde boş değerleri filtrelemek için Where-Object'in nasıl kullanılacağını örneklerle tartışacağız.
PowerShell'deki sorgu sonuçlarını boş veya boş değerlere göre filtrelemek için dizeler için { $_ -ne "" gibi koşullarla Where-Object cmdlet'ini kullanın, { $_.PropertyName -ne "" nesne özellikleri için, { $_.Count -gt 0 diziler için ve { $_ -ne $Hem boş hem de boş dizeleri hariç tutmak için null -and $_ -ne "" . Bu, komut dosyalarınızda yalnızca boş olmayan, anlamlı değerlerin işlenmesini sağlayarak verilerinizi tam olarak hassaslaştırmanıza olanak tanır.
PowerShell Where-Object cmdlet'i, işlem hattından geçirilen her nesne için $true veya $false olarak değerlendirilen bir komut dosyası bloğu belirtmenize olanak tanır. Betik bloğu $true olarak değerlendirilirse nesne ardışık düzen boyunca iletilir; aksi halde atılır.
PowerShell Where-Nesne Boş Dize
En basit durumla başlayalım: Where-Object Cmdlet'i kullanarak PowerShell'deki boş dizeleri filtrelemek. PowerShell'deki boş bir dize, karakter içermeyen bir dize nesnesidir. PowerShell'deki bir dize dizisinden boş dizelerin nasıl filtreleneceğine ilişkin bir örnek:
# Create an array of strings with some empty values
$stringArray = "New York", "", "Phoenix", "", "!"
# Filter out the empty strings
$nonEmptyStringArray = $stringArray | Where-Object { $_ -ne "" }
# Output the non-empty strings
$nonEmptyStringArrayBu örnekte $_, ardışık düzen üzerinden gelen dizideki her dizeyi temsil eder. -ne operatörü, dizenin PowerShell'deki boş bir dizeye ("") eşit olup olmadığını kontrol etmek için kullanılır.
Kodu çalıştırdıktan sonra çıktıyı aşağıdaki ekran görüntüsünde görebilirsiniz:
PowerShell Where-Object Özelliği Boş
Bazen özelliklere sahip nesnelerle çalışabilir ve belirli bir özelliğin boş olduğu nesneleri filtrelemeniz gerekebilir. Bunu nasıl yapabileceğiniz aşağıda açıklanmıştır:
# Create an array of custom objects
$objectArray = @(
[PSCustomObject]@{ Name = "Alice"; Age = 30 },
[PSCustomObject]@{ Name = ""; Age = 25 },
[PSCustomObject]@{ Name = "Bob"; Age = $null }
)
# Filter out objects with an empty 'Name' property
$objectsWithName = $objectArray | Where-Object { $_.Name -ne "" }
# Output the objects that have a 'Name'
$objectsWithNameYukarıdaki kodda, Ad özelliğinin boş bir dize olduğu nesneleri filtreliyoruz.
Çıktıyı aşağıdaki ekran görüntüsünde görebilirsiniz:
PowerShell Where-Nesne Boş Dizisi
Boş dizileri filtrelemek biraz farklı bir yaklaşım gerektirir. PowerShell'deki boş bir dizi, sıfır sayısına sahip bir dizidir. İşte bir örnek:
# Create an array of arrays with some empty arrays
$arrayOfArrays = @(1, 2, 3), @(), @(4, 5), @()
# Filter out the empty arrays
$nonEmptyArrays = $arrayOfArrays | Where-Object { $_.Count -gt 0 }
# Output the non-empty arrays
$nonEmptyArraysBu durumda PowerShell’de dizinin boş olup olmadığını belirlemek için dizinin Count özelliğini kullanıyoruz.
Çıktıyı aşağıdaki ekran görüntüsünde görebilirsiniz:
Where-Object Kullanarak PowerShell Filtresi Boş veya Boş
Boş değerler ayrıca Where-Object kullanılarak da filtrelenebilir. PowerShell'de null, $null ile temsil edilir. PowerShell'de boş veya boş değerleri filtrelemek için boş ve boş dizelere yönelik kontrolleri birleştirebilirsiniz. İşte nasıl:
# Create an array with null and empty values
$mixedValues = $null, "", "PowerShell", $null, "Scripting"
# Filter out null and empty values
$validValues = $mixedValues | Where-Object { $_ -ne $null -and $_ -ne "" }
# Output the valid values
$validValuesBu betik yalnızca “PowerShell” ve “Scripting” içeren bir dizi döndürecektir.
Betiği VS kodunu kullanarak çalıştırdıktan sonra çıktıyı görebilirsiniz.
Çözüm
PowerShell'deki Where-Object cmdlet'ini kullanarak boş dizeleri, boş özelliklere sahip nesneleri, boş dizileri ve boş veya boş değerleri filtreleyebilirsiniz.
Bu PowerShell eğitiminde "PowerShell Where-object empty" ile ilgili her şeyi çeşitli örneklerle açıkladım:
- PowerShell nerede nesne boş dize
- PowerShell nerede nesne özelliği boş
- PowerShell nerede nesne boş dizisi
- Where-object kullanılarak PowerShell filtresi boş veya boş



