Что вам действительно нужно:
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" но ваш вывод также будет содержать кавычки. Другими словами, использование кавычек не совсем правильное решение. 
Что вам нужно, так это экранировать символ & char при запуске команды echo : 
echo abc^&123
Таким образом, переменная должна содержать значение abc^&123 . Чтобы установить для переменной значение abc^&123 , вам нужно будет экранировать специальные символы ^ и & , что приведет к:
set pwd=abc^^^&123