PowerShell: Dosyadaki Birden Çok Dize Nasıl Değiştirilir
PowerShell kullanarak bir dosyadaki birden çok dizeyi değiştirmek için aşağıdaki temel sözdizimini kullanabilirsiniz:
(Get-Content c:\doc\data.txt).Replace('old1', 'new1').Replace('old2', 'new2') | Set-Content c:\doc\data.txt
Bu özel örnek, data.txt adlı dosyada aşağıdaki değişiklikleri yapar:
- eski1, yeni1 ile değiştirildi
- eski2, yeni2 ile değiştirildi
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: PowerShell'deki Dosyadaki Birden Çok Dizeyi Değiştirme
Bir kişinin farklı basketbol takımları tercihi hakkında bilgi içeren basketball_info.txt adlı aşağıdaki metin dosyasına sahip olduğumuzu varsayalım:
Bu dosyanın aşağıdaki konuma kaydedildiğini varsayalım:
c:\users\bobbi\documents\basketball_info.txtDosyada aşağıdaki değişiklikleri yapmak istediğimizi varsayalım:
- Lakers'ın her tekrarını Mavs ile değiştirin.
- Her Warriors ifadesini Spurs ile değiştirin.
Bunu yapmak için aşağıdaki sözdizimini kullanabiliriz:
(Get-Content c:\users\bobbi\documents\basketball_info.txt).Replace('Lakers', 'Mavs').Replace('Warriors', 'Spurs') | Set-Content c:\users\bobbi\documents\basketball_info.txt
Aşağıdaki ekran görüntüsü bu sözdiziminin pratikte nasıl kullanılacağını göstermektedir:
Daha sonra bilgisayarımızdaki dosyaya bir kez daha gidebilir ve dosyayı görüntüleyebiliriz:
Dosyada aşağıdaki değişikliklerin yapıldığını görebiliriz:
- Her Lakers oluşumu Mavs ile değiştirildi.
- Her Warriors oluşumu Spurs ile değiştirildi.
Not: Bu örnekte iki eski dizeyi iki yeni dizeyle değiştirdik, ancak istediğiniz sayıda Replace() yöntemini birbirine zincirlemek için benzer söz dizimini kullanabilirsiniz. daha fazla dizeyi değiştirin.


