Идея в том чтобы читать один файл как входной поток и разбирать его при помощи for.
Мне в моей задаче нужно было вызвать другой скрипт с передачей в него переменной.
Итак вот скрипт отдающий значение:
@echo off
rem usage FileVersion "FilePath"
SET FileVersion=0
Setlocal EnableDelayedExpansion
rem <Сюда код действий>
set FileVersion=1.1.0.12
rem DO NOT CHANGE NEXT STRING, IT'S AN INPUT FOR CALLER
rem Далее строка как раз отдает значение вызывающему
rem После переменной удалите лишние пробелы иначе они будут присутствовать в значении
echo !FileVersion!
:end
popd
Пример вызова из другого скрипта:
FOR /F "tokens=*" %%i IN ('FileVersion.bat "%RESOURCES_DIR%\VersionInfo.rc"') DO set FileVersion=%%i
echo Found version %FileVersion%
И действительно это работает.
Выводит результат
Found version 1.1.0.12