Что вам действительно нужно:
set pwd=abc^^^&123
echo %pwd%
Или:
set "pwd=abc^&123"
echo %pwd%
Объяснение:
Поскольку &это специальный символ, вы должны избегать его ^, в результате чего ^&.
Запуск set pwd=abc^&123установит переменную в значение abc&123. После этого, если вы должны были бежать echo %pwd%, вы эффективно работаете echo abc&123.
Тем echo abc&123не менее , не работает, как вы ожидаете, потому что &это специальный символ. Вы можете избежать этого, добавив кавычки: echo "abc&123"но ваш вывод также будет содержать кавычки. Другими словами, использование кавычек не совсем правильное решение.
Что вам нужно, это экранировать &символ при запуске echoкоманды:
echo abc^&123
Таким образом, переменная должна содержать значение abc^&123. Чтобы установить значение переменной abc^&123, вам нужно будет экранировать специальные символы ^и &, в результате:
set pwd=abc^^^&123