@echo off
setlocal
set "string=hostname2"
set "insert=192.168.128 hostname5"
for /f "tokens=1-2 delims= " %%A in (file.txt) do (
echo %%A %%B
if /i "%%~B" == "%find%" echo %insert%
) >> file.tmp
move /y file.tmp file.txt
Переменная string
- это строка для поиска.
Переменная insert
- это новая строка
вставить после строки, которая соответствует значению string
.
Цикл for
разделяет каждую строку чтения пробелом на 2 токена.
Первым токеном будет IP-адрес (в котором, кажется, отсутствует октат).
Если во 2-м токене на текущей строке читается значение string
,
затем вставляется строка insert
.
Когда запись в file.tmp
завершена, файл заменяет file.txt
.