PowerShell'de Klasörler Arasında Döngü Nasıl Yapılır (Örnekle)


Genellikle bir dizindeki tüm klasörler arasında geçiş yapmak ve bazı görevleri gerçekleştirmek için PowerShell'i kullanmak isteyebilirsiniz.

Bunu yapmak için aşağıdaki temel sözdizimini kullanabilirsiniz:

Get-ChildItem -Recurse -Directory | ForEach-Object {
    New-Item -ItemType file -Path "$($_.FullName)" -Name "new_data.txt"
}

Bu özel örnek, tüm alt klasörler de dahil olmak üzere geçerli dizindeki her klasörde döngü yapar ve her klasörde new_data.txt adlı yeni bir dosya oluşturur.

Geçerli dizindeki her klasörü yinelemeli olarak almak için Get-ChildItem -Recurse -Directory'yi kullandığımızı unutmayın.

Daha sonra her klasörde bazı eylemler gerçekleştirmek için ForEach-Object cmdlet'ini kullanırız.

Her klasörde istediğiniz belirli görevi gerçekleştirmek için ForEach-Object'te istediğiniz kodu kullanmaktan çekinmeyin.

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: PowerShell'de Klasörler Arasında Döngü Nasıl Yapılır

Önce geçerli dizindeki tüm klasörleri ve alt klasörleri görüntülemek için Get-ChildItem cmdlet'iyle aşağıdaki sözdizimini kullanabiliriz:

Get-ChildItem -Recurse -Directory

Aşağıdaki ekran görüntüsü bu sözdiziminin pratikte nasıl kullanılacağını göstermektedir:

Geçerli dizinin aşağıdaki klasörlere sahip olduğunu görebiliriz:

  • doğu verileri
  • kuzey verileri
  • güney verileri
  • batı verileri

Bu klasörlerin hiçbirinin alt klasörü yoktur.

Bu dört klasörün her birinde döngü yaparak new_data.txt adında yeni bir metin dosyası eklemek istediğimizi varsayalım.

Bunu yapmak için aşağıdaki sözdizimini kullanabiliriz:

Get-ChildItem -Recurse -Directory | ForEach-Object {
    New-Item -ItemType file -Path "$($_.FullName)" -Name "new_data.txt"
}

Aşağıdaki ekran görüntüsü bu sözdiziminin pratikte nasıl kullanılacağını göstermektedir:

Klasörlerin güncellenmiş içeriğini görüntülemek için Get-ChildItem cmdlet'ini bir kez daha kullanabiliriz.

Örneğin, east-data adlı klasörün içeriğini görüntülemek için aşağıdaki sözdizimini kullanabiliriz:

Get-ChildItem east-data

Aşağıdaki ekran görüntüsü bu sözdiziminin pratikte nasıl kullanılacağını göstermektedir:

Bu klasörün new_data.txt adında yeni bir dosya içerdiğini görebiliriz.

Her klasörün içeriğini görüntülemek için Get-ChildItem cmdlet'ini kullanırsak, her klasörün new_data.txt adında bir metin dosyası içerdiğini görürüz.

Kendi dizininizdeki her klasörde dolaşmak ve bazı belirli eylemleri gerçekleştirmek için benzer sözdizimini kullanmaktan çekinmeyin.

İlgili makaleler