it-swarm.com.ru

Обход многострочных строк

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

Есть ли способ кодировать перевод строки или заставить это работать?

27
chief7

Вы можете создавать непосредственно многострочные строки с помощью каретки (требуется одна пустая строка). 

setlocal EnableDelayedExpansion
set multiLine=This is a ^

multiline text^

line3
echo !multiLine!

Или вы можете создать сначала символ новой строки.

setlocal EnableDelayedExpansion
set LF=^


rem Two empty lines are required
set multiLine=This is a!LF!multiline text!LF!line3
echo !multiLine!

Объяснение того, как это работает, можно найти в Объясните, как работает взлом новой строки в DOS

32
jeb

Расширение до jeb answer , Добавление! LF! ^ К каждой строке было бы легко 

setlocal EnableDelayedExpansion
set LF=^



set multiLine=This is a!LF!^
multiline text!LF!^
line3
echo !multiLine! 
0
SmartManoj