2013-05-20 57 views
7

我在替換ini文件中的整行時出現問題,它似乎將我的結果添加到同一行中。使用Powershell替換INI文件中的整行

這裏是ini文件:

[environment] 
APP_USER=Domain\User1 

我只是希望用例如APP_USER =域\用戶2更換APP_USER =域\用戶1。

這裏是我的代碼:

$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 

我得到這樣的結果,當我使用上面的代碼:

[environment] 
APP_USER=Domain\User2Domain\User1 

幫助將非常感激。

//看待PMS

回答

18

爲了配合整條生產線:

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

.+將行的其餘部分相匹配。

+0

非常感謝,正是我所需要的。 – user2400659

+0

@ user2400659,很高興聽到,不要忘記標記適當的正確。 –

+0

。+是我所需要的。花了一些時間尋找這一個。謝謝! – Nimblejoe