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

  • Easy Learn Tutorial

    Easy Learn T

    10 Kasım 2012
  • jcortes187

    jcortes187

    24 Mart 2006
  • Valdorsha

    Valdorsha

    8 Mayıs 2006