about_For

Kısa açıklama

Koşullu teste dayalı deyimleri çalıştırmak için kullanabileceğiniz bir dil komutunu açıklar.

Uzun açıklama

For deyimi (döngü olarak For da bilinir), belirtilen bir koşul olarak değerlendirilirken komut bloğunda komutları çalıştıran bir döngü oluşturmak için $truekullanabileceğiniz bir dil yapısıdır.

Döngünün For tipik bir kullanımı, bir değer dizisini yinelemek ve bu değerlerin bir alt kümesi üzerinde çalışmaktır. Çoğu durumda, bir dizideki tüm değerleri yinelemek istiyorsanız, deyimini Foreach kullanmayı göz önünde bulundurun.

Sözdizimi

Aşağıda deyim söz dizimi gösterilmektedir For .

for (<Init>; <Condition>; <Repeat>)
{
    <Statement list>
}

Init yer tutucusu, döngü başlamadan önce çalıştırılacak bir veya daha fazla komutu temsil eder. Genellikle başlangıç değeriyle bir değişken oluşturmak ve başlatmak için deyiminin Init bölümünü kullanırsınız.

Bu değişken, deyiminin sonraki bölümünde test edilecek koşulun For temelini oluşturur.

Koşul yer tutucusu, deyiminin For bir $true veya$false Boole değerine çözümleyen bölümünü temsil eder. PowerShell, döngü her For çalıştığında koşulu değerlendirir. deyimi ise $true, komut bloğundaki komutlar çalıştırılır ve deyimi yeniden değerlendirilir. Koşul hala $trueise, Deyim listesindeki komutlar yeniden çalıştırılır. Koşul olana kadar döngü yinelenir $false.

Yinele yer tutucusu, döngü her yinelenirken yürütülen virgüllerle ayrılmış bir veya daha fazla komutu temsil eder. Bu genellikle deyiminin Koşul bölümünde test edilen bir değişkeni değiştirmek için kullanılır.

Deyim listesi yer tutucusu, döngü her girildiğinde veya yinelendiğinde çalıştırılan bir veya daha fazla komut kümesini temsil eder. Deyimi listesinin içeriği küme ayraçlarıyla çevrelenir.

Birden çok işlem için destek

Init deyiminde birden çok atama işlemi için aşağıdaki söz dizimleri desteklenir:

# Comma separated assignment expressions enclosed in parentheses.
for (($i = 0), ($j = 0); $i -lt 10; $i++)
{
    "`$i:$i"
    "`$j:$j"
}

# Sub-expression using the semicolon to separate statements.
for ($($i = 0;$j = 0); $i -lt 10; $i++)
{
    "`$i:$i"
    "`$j:$j"
}

Repeat deyiminde birden çok atama işlemi için aşağıdaki söz dizimleri desteklenir:

# Comma separated assignment expressions.
for (($i = 0), ($j = 0); $i -lt 10; $i++, $j++)
{
    "`$i:$i"
    "`$j:$j"
}

# Comma separated assignment expressions enclosed in parentheses.
for (($i = 0), ($j = 0); $i -lt 10; ($i++), ($j++))
{
    "`$i:$i"
    "`$j:$j"
}

# Sub-expression using the semicolon to separate statements.
for ($($i = 0;$j = 0); $i -lt 10; $($i++;$j++))
{
    "`$i:$i"
    "`$j:$j"
}

Not

Artım öncesi veya sonrası dışındaki işlemler tüm söz dizimleriyle çalışmayabilir.

Birden çok Koşul için aşağıdaki örnekte gösterildiği gibi mantıksal işleçler kullanın.

for (($i = 0), ($j = 0); $i -lt 10 -and $j -lt 10; $i++,$j++)
{
    "`$i:$i"
    "`$j:$j"
}

Daha fazla bilgi için bkz . about_Logical_Operators.

Örnekler

En azından bir For deyim, deyimin Init, Condition ve Repeat bölümünü çevreleyen parantezi ve deyimin Deyim listesi bölümünde küme ayraçlarıyla çevrili bir komutu gerektirir.

Yaklaşan örneklerde kasıtlı olarak deyimin dışındaki kodun gösterildiğini For unutmayın. Sonraki örneklerde kod deyimiyle For tümleştirilmiştir.

Örneğin, aşağıdaki For deyim, CTRL+C tuşlarına basarak komuttan el ile ayrılana kadar değişkenin değerini $i sürekli olarak görüntüler.

$i = 1
for (;;)
{
    Write-Host $i
}

Aşağıdaki örnekte gösterildiği gibi, döngü her çalıştırıldığında değerinin $i 1 artırılarak deyim listesine ek komutlar ekleyebilirsiniz.

for (;;)
{
    $i++; Write-Host $i
}

CTRL+C tuşlarına basarak komutun dışına çıkana kadar bu deyim, döngü her çalıştırıldığında değişkenin $i değerini 1 artırıldığından sürekli olarak görüntüler.

Deyimin deyim listesi bölümündeki For değişkenin değerini değiştirmek yerine deyiminin Repeat bölümünü For aşağıdaki gibi kullanabilirsiniz.

$i=1
for (;;$i++)
{
    Write-Host $i
}

CTRL+C tuşlarına basarak komuttan çıkana kadar bu deyim süresiz olarak yinelenir.

Bir koşul kullanarak döngünün For sonlandırabilirsiniz. Deyimin Koşul bölümünü For kullanarak bir koşul yerleştirebilirsiniz. Koşul For olarak değerlendirildiğinde döngü sonlanır $false.

Aşağıdaki örnekte, For değeri $i 10'dan küçük veya buna eşitken döngü çalıştırılır.

$i=1
for(;$i -le 10;$i++)
{
    Write-Host $i
}

Değişkeni deyiminin dışında For oluşturmak ve başlatmak yerine, deyiminin For Init bölümünü For kullanarak döngünün içinde bu görevi gerçekleştirebilirsiniz.

for($i=1; $i -le 10; $i++){Write-Host $i}

Deyimin Init, Condition ve Repeat bölümlerini For sınırlandırmak için noktalı virgül yerine satır başı kullanabilirsiniz. Aşağıdaki örnekte, bu alternatif söz dizimini kullanan bir For gösterilmektedir.

for ($i = 0
  $i -lt 10
  $i++){
  $i
}

Deyimin For bu alternatif biçimi PowerShell betik dosyalarında ve PowerShell komut isteminde çalışır. Ancak, komut istemine For etkileşimli komutlar girdiğinizde deyim söz dizimini noktalı virgülle kullanmak daha kolaydır.

Döngü For , bir dizideki veya koleksiyondaki değerleri desenleri kullanarak artırmanıza olanak sağladığından döngü döngüden Foreach daha esnektir. Aşağıdaki örnekte, değişkeni deyiminin $iRepeat bölümünde For 2 artırılır.

for ($i = 0; $i -le 20; $i += 2)
{
    Write-Host $i
}

Döngü For , aşağıdaki örnekte olduğu gibi tek bir satıra da yazılabilir.

for ($i = 0; $i -lt 10; $i++) { Write-Host $i }

Ayrıca bkz.