I am pretty new to powershell scripting.The scenario is that I have to replace the first occurrence of a string with different value and second occurrence with a different value.
So far, I have this :
$dbS = Select-String $repoPath\AcceptanceTests\sample.config -Pattern([regex]'dbServer = "@DB_SERVER@"')
write-output $dbS[0]
write-output $dbS[1]
This gives the output as :
D:\hg\default\AcceptanceTests\sample.config:5: dbServer = "@DB_SERVER@"
D:\hg\default\AcceptanceTests\sample.config:12: dbServer = "@DB_SERVER@"
I can see that both the occurrences are correct, and this returns a MatchInfo object.Now I need to replace the contents,I tried :
Get-Content $file | ForEach-Object { $_ -replace "dbserver",$dbS[0] } | Set-Content ($file+".tmp")
Remove-Item $file
Rename-Item ($file+".tmp") $file
But this replaces all occurence and that too with the entire path. Please help..