Как заменить многострочные строки в текстовом файле пакетным скриптом - PullRequest
0 голосов
/ 25 марта 2019

Мне нужно заменить несколько строковых строк новыми значениями после знака равенства

Я уже пробовал с некоторыми тестовыми данными, и это работает, проблема в том, что мне нужно передать полную строку, но мне нужно передать часть строки в текстовом файле: prop.first.name=firstname Мне нужно пройти перед "=" (или поиск) и заменить имя на что-либо еще

Мне удалось получить что-то работающее, но оно работает для одной строки ... У меня есть как минимум 4 строки, которые должны быть выполнены одной и той же командой

CALL :modify prop.first.name , myName
CALL :modify prop.last.name , myLastName
:modify

set "source=srcFile.txt"
set "target=tmpFile.txt"

set property=%~1
set value=%~2

setlocal enableDelayedExpansion
(
for /F "tokens=1* delims==" %%a in ('findstr /B "^" %source%') do (
  set line=%%b
  if defined line echo !line:%property%=%property%=%value%!
)
) > %target%
 endlocal

исходный файл выглядит так:

prop.first.name=firstname

prop.last.name=lastname

prop.pssw.word=password

prop.url.link=alink

Мне нужно заменить значение после знака равенства "=" на входе

Идея состоит в том, чтобы вызывать универсальную функцию 4 раза с различными параметрами

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...