Caracteres especiales en archivo por lotes

Los caracteres especiales en los archivos por lotes son una molestia, pero no he encontrado la solución adecuada para escapar correctamente de los dos primeros caracteres de esta cadena en particular. Estoy tratando de pasar la aplicación.

SET pass=^&AntiBatchfileString
A_Program.exe /pass=%pass%

Cosas que he probado:

:: Escaping the escape twice, first for ^, second for &.
SET pass=^^^^&AntiBatchfileString
echo %pass%

:: Combining escapes.
SET first=^^
SET second=^^&AntiBatchfileString
SET pass=%first%%second%
echo %pass%

:: Preventing expansion
SET first=^^
SET second=^^&AntiBatchfileString
SET pass=!first!%second%
echo %pass%

:: I got this to print correctly
SET "pass=^&AntiBatchfileString"
echo ^^%pass%

Aún así, al pasar el último, no acepta el inicio de sesión, no sé cuál es el resultado final. Eso me hizo pensar que tal vez estaba tratando de hacer otra expansión al pasar el parámetro a la aplicación, así que también lo cité.

SET "pass=^&AntiBatchfileString"
A_Program.exe "/pass=^^%pass%"

Todavía no funciona, no estoy seguro de lo que me falta en este momento.

Respuestas a la pregunta(1)

Su respuesta a la pregunta