SORU
14 Mayıs 2010, Cuma


Bulmak ve Değiştirmek için PowerShell Komut dosyası Belirli bir Uzantıya sahip Dosyaları

2008 gibi iç içe geçmiş Windows Server üzerinde birkaç yapılandırma dosyaları var:

C:\Projects\Project_1\project1.config

C:\Projects\Project_2\project2.config

Benim yapılandırma gibi bir dize değiştirme yapmak istiyorum:

<add key="Environment" value="Dev"/>

olacak:

<add key="Environment" value="Demo"/>

Toplu iş komut dosyası kullanma hakkında düşündüm, ama bunu yapmak için iyi bir yolu yok, ve PowerShell komut dosyası ile kolayca bu işlemi gerçekleştirebilirsiniz duydum. Bul/değiştir örnekleri buldum, ama traverse benim c:\projects içindeki tüm klasörler ve dizin ile biten tüm dosyaları bulur bir şekilde bekliyordum '.config' uzantısı. Bir tane bulduğunda, onu dize değerleri değiştirmek istiyorum.

Bunun nasıl yapılacağı ya da bazı bilgiler sunabileceği herhangi bir PowerShell uzmanları öğrenmek için herhangi bir iyi kaynaklar?

CEVAP
14 Mayıs 2010, Cuma


Kafamın üstündeki buraya ilk girişim.

$configFiles = Get-ChildItem . *.config -rec
foreach ($file in $configFiles)
{
    (Get-Content $file.PSPath) |
    Foreach-Object { $_ -replace "Dev", "Demo" } |
    Set-Content $file.PSPath
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CaliforniaMetin

    CaliforniaMe

    3 ŞUBAT 2013
  • Migs351

    Migs351

    3 HAZİRAN 2007
  • NikkoNantone

    NikkoNantone

    21 Kasım 2011