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^&123
establecerá 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 echo
comando:
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