Получить строку.
Обрезать ее с начала до строки поиска (включая).
извлечь число.
@echo off
setlocal enabledelayedexpansion
set "search_string=tag_for_child_directed_treatment"
for /f "delims=" %%a in (test.txt) do set "string=%%a"
set "string=!string:*%search_string%=!"
for /f "delims==&" %%a in ("!string!") do set "result=%%a"
echo %search_string%=%result%
Пакетная обработка такой строки ужасна. Более надежное решение возможно с помощью утилиты dbenham jrepl.bat , гибридного сценария JScript / пакетной обработки с полной поддержкой REGEX, что делает эту задачу довольно простой:
@echo off
set "search_string=tag_for_child_directed_treatment"
for /f "delims=" %%a in ('type test.txt ^| jrepl ".*tag_for_child_directed_treatment=([0-9]*).*" "$1" /XSEQ') do set "result=%%a"
echo %search_string%=%result%