Параметр %% A был правильно назначен переменной USER, но значение USER отображается некорректно.
Чтобы использовать текущее значение переменной, которая была изменена внутри цикла FOR, вы должны использовать расширение отложенной переменной, то есть изменить процент восклицательным знаком следующим образом:
FOR /F "tokens=1 delims= " %%A IN (connections.txt) DO (
set USER=%%A
echo A=%%A
echo USER=!USER!
)
и включите эту строку в начале:
setlocal EnableDelayedExpansion
В противном случае значение% USER% - это значение, которое переменная имела до входа в цикл FOR.