2013-05-20 9 views
7

Mam problem z zastąpieniem całej linii w pliku ini, po prostu wydaje mi się, że dodałem mój wynik do tej samej linii.Zamień całą linię w pliku INI, używając Powershell

Oto ini-file:

[environment] 
APP_USER=Domain\User1 

po prostu chcą wymienić APP_USER = domain \ User1 z np APP_USER = domena \ użytkownik2.

Oto mój kod:

$USER = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name   
(Get-Content D:\Test\test.ini) | ForEach-Object { $_ -replace "APP_USER=" , "APP_USER=$user" } | Set-Content D:\Test\test.ini 

uzyskać ten wynik podczas korzystania powyższy kod:

[environment] 
APP_USER=Domain\User2Domain\User1 

pomoc będzie bardzo mile widziane.

// Regard PMS

Odpowiedz

18

Aby dopasować cały wiersz:

-replace "APP_USER=.+","APP_USER=$user" 

.+ będzie pasował do reszty linii.

+0

Wielkie dzięki, właśnie to, czego potrzebowałem. – user2400659

+0

@ user2400659, dobrze usłyszeć, nie zapomnij zaznaczyć odpowiedniego. –

+0

. + Było tym, czego potrzebowałem. Spędziłem trochę czasu szukając tego. Dzięki! – Nimblejoe

Powiązane problemy