Добавляя к @ Андерсу ответы , я настроил его решение для чего-то, что дает вам немного больше гибкости:
set foo=bar&for /f %a in ('echo ^%foo^%') do @echo %a
Выход:
bar
Это также позволяет вам выполнять замену строки:
set foo=bar&for /f %a in ('echo ^%foo^:a^=o^%') do @echo %a
Выход:
bor
Редактировать: добавлены некоторые символы, чтобы исправить замечание @ jeb.