Командная строка Windows: как передать многострочные параметры строки

У меня есть программа, которая принимает строковый параметр. Я создаю командный файл, который выполняет программу и многострочный строковый параметр. У меня также есть второй параметр после многострочной строки.

C:\>MyProgram "This is a
multiline text" parameter2

Когда я запускаю это, в команду включается только первая строка строки, а последующие строки и второй параметр игнорируются. Есть ли способ передать многострочные строковые параметры?

Ответ 2

Вы можете сохранить ^ вывод как переменную

set br= ^
<</br (newline)>>
<</br>>

пример:

@echo off
setlocal enableExtensions enableDelayedExpansion
rem cd /D "%~dp0"
set br= ^


rem br, can't be saved to a var. by using %..%;


set "t=t1!br!t2!br!t3"

for /f "usebackq tokens=* delims=" %%q in ('!t!') do (
    echo %%q
)


:scIn
rem endlocal
pause
rem exit /b

; выход:

t1
t2
t3
Press any key to continue . . .