Как обновить тег в файле с помощью powershell - PullRequest
0 голосов
/ 31 октября 2018

У меня есть файл конфигурации (test.properties)

Файл включает в себя:

<a>aa</a>
<b>bb</b>
<c>ccc</c>
<d>dddd</d>
<Test>Yes</Test>

Я хочу заменить значение «Нет» в файле test.properties с помощью powershell.

Existing : <Test>Nope<Test>

 AFter Update it should be 

        <Test>Yes<Test>

Как заменить это значение с помощью powershell?

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Другой способ - использовать оператор -replace на основе RegEx, в отличие от метода .replace(), используемого Маркусом Хоглундом.

-replace "(?<=<(Test)>).*?(?=</\1)",$custValue

Он не заботится о тексте, который он заменяет, используя непотребляющие обходные пути спецификацию текста до и после (\ 1 повторяет сгруппированный (Test) в заголовке).

(get-Content .\test.properties) -replace "(?<=<(Test)>).*?(?=</\1)",$custValue|
set-Content .\test.properties

Кстати, закрывающий тег не предшествует /?

0 голосов
/ 31 октября 2018

Используйте заменить! Код ниже прочитает содержимое файла и заменит ваш тестовый тег новым значением, а затем запишет содержимое обратно в тот же файл

(Get-Content yourfile.xml).replace("<Test>Nope<Test>", "<Test>Yes<Test>") | Set-Content yourfile.xml
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...