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

时间:2013-05-20 06:43:45

标签: regex powershell replace

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

这是ini文件:

    [environment]
APP_USER=Domain\User1

我只想用例如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

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

    [environment]
APP_USER=Domain\User2Domain\User1

非常感谢帮助。

//关注PMS

1 个答案:

答案 0 :(得分:18)

匹配整行:

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

.+将与该行的其余部分匹配。