Вы, вероятно, находитесь в блоке if или другого for
там, я полагаю, такого как:
if foo (
FOR /F "eol=; tokens=2,2 delims==" %%i IN ('findstr /i "applocation" %1') DO set name=%%i
echo %applocation%
)
Это не может работать, поскольку переменные окружения раскрываются при разборе такой блок, а не при его запуске.
Чтобы использовать отложенное расширение, поместите
setlocal enabledelayedexpansion
вверху командного файла, а затем используйте
if foo (
FOR /F "eol=; tokens=2,2 delims==" %%i IN ('findstr /i "applocation" %1') DO set name=%%i
echo !applocation!
)