Consider this batch file:
@echo off
echo Separate lines:
set line=previous value
echo new value|set /p line=
set line
echo Same line:
set line=previous value
echo new value|(set /p line=&set line)
Output:
Separate lines:
line=previous value
Same line:
line=new value
Why doesn't the new value assigned to a variable on the right-hand side of a pipe "stick"?
echo new value|set /p line=instead ofset "line=new value"?