Lo que realmente necesitas es:
set pwd=abc^^^&123
echo %pwd%
O:
set "pwd=abc^&123"
echo %pwd%
Explicación:
Como &es un personaje especial, debes escapar con él ^, lo que resulta en ^&.
La ejecución set pwd=abc^&123establecerá la variable en el valor abc&123. Después de eso, si tuviera que correr echo %pwd%, está corriendo efectivamente echo abc&123.
Sin embargo echo abc&123, no funciona como esperabas, porque &es un personaje especial. Puede evitar esto agregando comillas: echo "abc&123"pero su salida también tendrá los caracteres de comillas. En otras palabras, usar comillas no es exactamente una solución adecuada.
Lo que necesita es escapar del &char cuando ejecuta el echocomando:
echo abc^&123
Entonces la variable necesita contener el valor abc^&123. Para establecer la variable en el valor abc^&123, deberá escapar de los caracteres especiales ^y &, como resultado:
set pwd=abc^^^&123