Вы можете просто рассматривать это как замену в виде простого текста:
(Get-Content 'C:\folder\phonebook.xml') `
-replace '<extension>01','<extension>+441' `
-replace '<extension>07','<extension>+447' |
Set-Content 'C:\folder\phonebook.xml'
Get-Content
заключено в квадратные скобки, так что powershell считывает его, а затем снимает блокировку файла, без этого вы получите ошибку, когдаиспользуя Set-Content
.
Я использую обратные метки, чтобы поместить команду в несколько строк, это просто делает ее более читабельной, чем однострочный:
(Get-Content 'C:\folder\phonebook.xml') -replace '<extension>01','<extension>+441' -replace '<extension>07','<extension>+447' | Set-Content 'C:\folder\phonebook.xml'