使用Powershell替换INI文件中的整行

use*_*659 8 regex powershell replace

我在替换ini文件中的整行时遇到问题,它似乎只是将我的结果添加到同一行.

这是ini文件:

    [environment]
APP_USER=Domain\User1
Run Code Online (Sandbox Code Playgroud)

我只想用例如APP_USER = Domain\User2替换APP_USER = Domain\User1.

这是我的代码:

$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
Run Code Online (Sandbox Code Playgroud)

当我使用上面的代码时,我得到了这个结果:

    [environment]
APP_USER=Domain\User2Domain\User1
Run Code Online (Sandbox Code Playgroud)

非常感谢帮助.

//关注PMS

And*_*ndi 20

要匹配整行:

-replace "APP_USER=.+","APP_USER=$user"
Run Code Online (Sandbox Code Playgroud)

.+将匹配线的其余部分.