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

  • ASUS North America

    ASUS North A

    12 AĞUSTOS 2008
  • TastyTuts | Creative video tutorials by Gareth David

    TastyTuts |

    6 Temmuz 2011
  • wafflepwn

    wafflepwn

    14 AĞUSTOS 2008