Entrada do usuário Escape no arquivo em lotes do Windows

Tenho um arquivo em lotes do Windows que aceita uma senha como entrada do usuário:

SET /P PASSWORD=Password:

Esta senha pode ter caracteres que precisam ser escapados como!. OPASSWORD variável @ é passada para outros arquivos em lotes usandoCALL

CALL Foo.Bat %PASSWORD%

Como posso garantir que caracteres especiais sejam escapados e passados corretamente como parâmetro? Por exemplo, se o usuário digitar!%"£$" Eu quero%1 ser estar!%"£$" dentroFoo.bat.

questionAnswers(2)

yourAnswerToTheQuestion