Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Replace a whole line in a INI-file using Powershell

i have a problem with replacing a whole line in a ini-file, it just seems to add my result to thesame line.

Here is the ini-file:

    [environment]
APP_USER=Domain\User1

I just wish to replace the APP_USER=Domain\User1 with for example APP_USER=Domain\User2.

Here is my code:

$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

I get this result when i use the above code:

    [environment]
APP_USER=Domain\User2Domain\User1

Help would be much appreciated.

//Regard PMS

like image 214
user2400659 Avatar asked May 20 '13 06:05

user2400659


1 Answers

To match the whole line:

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

The .+ will match the rest of the line.

like image 51
Andy Arismendi Avatar answered Oct 16 '22 09:10

Andy Arismendi