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-dataAş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.


