Я пытаюсь заменить строки текста частью текста, не всегда являющейся статическим значением.
Я обнаружил, что метод, описанный в посте ниже, работает, за исключением одного случая, когда строковая переменная, которую я пытаюсь изменить, содержит звездочку (*).
Как заменить всю строку в текстовом файле, зная только часть строки?
В противном случае, если в процессе тестирования я уберу звездочку, это сработает. Как я могу игнорировать, что в переменной есть символ подстановки, и просто трактовать * как текст?
$line = Get-Content D:\tmp\test.txt | Select-String TextString | Select-Object -ExpandProperty Line
Get-Content D:\tmp\test.txt | ForEach-Object {$_ -replace $line,'TextString = VALUEIWANT'} | Set-Content D:\tmp\TEXTNEW.txt