Замена текста в cmd с помощью подстроки - PullRequest
2 голосов
/ 06 мая 2020

Мне нужно открыть файл и найти подстроку. Затем замените другой текст в той же строке.

Необходимо найти текст: #define MyAppVersion и заменить версию в двойных кавычках (это динамический c, будет извлечен из другого файла).

#define MyAppVersion "1.0.0"

Итак, вот что у меня сейчас есть:

rem version num to be retrieved elsewhere, set here for simplicity on sample
set VER=1.1.0
powershell -Command "(gc sample.iss) -replace '#define MyAppVersion', '#define MyAppVersion "%VER%"' | Out-File sample.iss"

Но это только выводит так:

#define MyAppVersion 1.1.0 "1.0.0"

Как я могу изменить всю строку тогда без использования сторонних плагинов?

Спасибо!

1 Ответ

4 голосов
/ 06 мая 2020

Наконец он заработал,

set VER=1.1.0
powershell -Command "(gc sample.iss) -replace '#define MyAppVersion.+', '#define MyAppVersion "\"%VER%"\"' | Out-File mod.iss"

.+ будет соответствовать остальной части этой строки

...