Рабочий пример:
@ECHO OFF
SET "_Var=Tom&Jerry"
SET "_Var=%_Var:&=^&%"
echo %_Var%
Результат:
Y:\>echo %_Var%
Tom&Jerry
В вашем случае, так как вы хотите, чтобы это был первый аргумент:
@ECHO OFF
SET "_Var=%~1"
SET "_Var=%_Var:&=^&%"
echo %_Var%
Вам нужноиспользовать кавычки вокруг переменной и значения в команде SET
для захвата большинства * специальных символов.
Чтобы echo
из переменных, содержащих эти символы, вы должны либо echo
окружить их кавычками,или замените персонажей морковью перед ними.(Или несколько других обходных путей, но они быстрые и простые)