Таким образом, вы не можете избежать этого, так как CALL
всегда удваивает все каретки непосредственно перед повторным повторением строки.
Если вам действительно нужно использовать CALL
, вы должны поместить свои данные в переменную и развернуть ее после CALL-caret-удвоения
set "myVar=secret(<^>)secret"
set myVar
call echo Password "%%myVar%%"
Но даже тогда у вас есть проблемы,если ваш секрет содержит кавычки, или если вы пытаетесь использовать переменную без кавычек.
Поэтому вам лучше использовать отсроченное расширение здесь.
Это также будет работать (без вызова) внутри скобок.
setlocal EnableDelayedExpansion
(
set "myVar=secret(<^>)secret"
echo !myVar!
)
А если вас интересует, откуда взялись двойные символы, вы можете прочитать
Как CMD.EXE анализирует скрипты