Чрезвычайно важно добиться этого, используя метод Macro, или этого решения для избежания ввода будет достаточно?
@Echo off & CD %~dp0
Setlocal DisableDelayedExpansion
Echo("%~1">param.txt
For /F "Tokens=* Delims=" %%A in (param.txt) Do Set ^"param=%%~A"
Setlocal EnableDelayedExpansion
Echo(!param!
ограничение для параметра должно быть заключено в кавычки для получения всех символов.
Принимает все стандартные символы
param "!@#$%^&*(_)%$#@ "Test" !><,./\?[]{}:;'|`~+=-"
Вывод: