O que você realmente precisa é:
set pwd=abc^^^&123
echo %pwd%
Ou:
set "pwd=abc^&123"
echo %pwd%
Explicação:
Como &
é um caractere especial, você deve evitá-lo ^
, resultando em ^&
.
A execução set pwd=abc^&123
definirá a variável para o valor abc&123
. Depois disso, se echo %pwd%
você estiver executando, estará efetivamente executando echo abc&123
.
No entanto echo abc&123
, não funciona como o esperado, porque &
é um caractere especial. Você pode evitar isso adicionando aspas: echo "abc&123"
mas sua saída também conterá os caracteres das aspas. Em outras palavras, usar aspas não é exatamente uma solução adequada.
O que você precisa é escapar do &
char quando você executa o echo
comando:
echo abc^&123
Assim, a variável deve conter o valor abc^&123
. Para definir a variável para o valor abc^&123
, você precisaria escapar dos caracteres especiais ^
e &
, resultando em:
set pwd=abc^^^&123