PowerShell'de Bir Diziyi İki Koşul İçin Kontrol Etme


PowerShell'de bir diziyi iki koşul için nasıl kontrol edeceğinizi bilmek ister misiniz? Bu PowerShell eğitiminde, PowerShell'de bir dizinin iki koşul için nasıl kontrol edileceğini açıklayacağım.

PowerShell'de bir diziyi iki koşul açısından kontrol etmek için, Where-Object filtresi veya if ifadesi içinde -and operatörünü kullanabilirsiniz. Örneğin, $dizi | Where-Object { $_ -gt 10 -and $_ -lt 20 }, 10'dan büyük ve 20'den küçük öğeleri filtreler. Bir if ifadesinde, if ($item -gt 10 -ve $item -lt 20) kullanırsınız ) { … } tek bir öğedeki her iki koşulu da kontrol etmek için.

PowerShell'de Bir Diziyi İki Koşul İçin Kontrol Edin

PowerShell'de bir diziyi iki koşul açısından kontrol etmenin birden çok yöntemi vardır.

1. foreach Döngüsü Kullanmak

foreach döngüsü, bir dizideki her öğe üzerinde yineleme yapmanızı sağlayan bir kontrol yapısıdır. Koşulları kontrol etmek için döngü içinde if ifadelerini kullanabiliriz.

Burada PowerShell'de bir diziyi kontrol etmek için iki koşulun nasıl kullanılacağına dair bir örnek verilmiştir.

# Define an array
$array = 1..10 # This creates an array with numbers from 1 to 10

# Iterate over each item
foreach ($item in $array) {
    # Check for two conditions
    if ($item -gt 2 -and $item -lt 8) {
        Write-Host "Item $item meets the conditions"
    }
}

Bu örnekte, her bir öğenin 2'den büyük ve 8'den küçük olup olmadığını kontrol ediyoruz. -gt operatörü 'büyüktür' anlamına gelir ve -lt operatörü 'daha az' anlamına gelir. -and operatörü her iki koşulu birleştirmek için kullanılır.

Çıktı için aşağıdaki ekran görüntüsünü görebilirsiniz:

2. Where-Object Cmdlet'ini Kullanmak

PowerShell, nesneleri belirtilen ölçütlere göre filtrelemenize olanak tanıyan Where-Object adlı güçlü bir cmdlet sağlar. Bu cmdlet, özellikle nesne dizileriyle çalışırken kullanışlıdır ancak basit türdeki dizilerle de kullanılabilir.

# Define an array
$array = 1..10

# Use Where-Object to filter items
$filteredItems = $array | Where-Object { $_ -gt 2 -and $_ -lt 8 }

# Display the filtered items
$filteredItems

Bu işlem hattında $_, diziden aktarılan geçerli nesneyi temsil eder. { $_ -gt 2 -ve $_ -lt 8 komut dosyası bloğu filtreleme koşullarını tanımlar.

3. -contains ve -in Operatörlerini Kullanmak

Bazen bir dizinin belirli bir değer içerip içermediğini kontrol etmek ve ayrıca başka bir koşulun karşılandığından emin olmak isteyebilirsiniz. Bunun için -contains ve -in operatörlerini kullanabilirsiniz.

# Define an array
$array = 'apple', 'banana', 'cherry', 'date'

# Check if 'banana' is in the array and the array has more than 3 items
if ($array -contains 'banana' -and $array.Count -gt 3) {
    Write-Host "Array contains 'banana' and has more than 3 items"
}

Bu örnekte -contains, 'muz'un dizide bir öğe olup olmadığını kontrol eder ve .Count -gt 3, dizi boyutunun 3'ten büyük olup olmadığını kontrol eder.

4. Özel İşlevler

Daha karmaşık koşullar için özel bir işlev oluşturmak isteyebilirsiniz. Bu, mantığı kapsüllemenize ve yeniden kullanmanıza olanak tanır.

function Test-ArrayConditions {
    param (
        [int[]]$Array,
        [int]$Condition1,
        [int]$Condition2
    )

    foreach ($item in $Array) {
        if ($item -gt $Condition1 -and $item -lt $Condition2) {
            Write-Host "Item $item meets the conditions"
        }
    }
}

# Define an array and call the function
$array = 1..10
Test-ArrayConditions -Array $array -Condition1 2 -Condition2 8

Test-ArrayConditions adlı bu fonksiyonda, diziyi ve iki koşulu parametre olarak iletiriz ve o, her öğeyi bu koşullara göre kontrol eder.

Çözüm

Bu PowerShell eğitiminde, aşağıdaki yöntemleri kullanarak PowerShell'de bir diziyi iki koşul açısından kontrol etmeye yönelik farklı yöntemleri açıkladım:

  1. foreach Döngüsü Kullanmak
  2. Where-Object Cmdlet'ini Kullanma
  3. -contains ve -in Operatörlerini Kullanmak
  4. Özel İşlevler

İlgili makaleler