Я могу заменить строку в документе XML, используя следующий простой код. Это прекрасно работает, когда я знаю предыдущее значение, однако я не буду знать это значение, и у меня возникнут проблемы с использованием подстановочного знака.
Например, это прекрасно работает:
$files = Get-ChildItem "C:\ScriptData.xml"
foreach($file in $files) {
(Get-Content $file.fullname) -replace '<Variable Name="%%modelID%%" Value="hello" />', '<Variable Name="%%modelID%%" Value="world" />' |
Set-Content $file.fullname
}
Однако,когда я ввожу шаблон, код не работает, хотя ошибки нет:
$files = Get-ChildItem "C:\ScriptData.xml"
foreach($file in $files) {
(Get-Content $file.fullname) -replace '<Variable Name="%%modelID%%" Value="*" />', '<Variable Name="%%modelID%%" Value="world" />' |
Set-Content $file.fullname
}
Я думаю, что мне нужно изменить цитаты или использовать escape, но ничего, что я пробовал, не работает.