wake-up-neo.net

Mehrzeilige Zeichenketten übergeben

Ich versuche, eine Batch-Datei zu erstellen, die eine Zeichenfolge mit Zeilenvorschüben umgibt, aber nicht funktioniert. Die Fortsetzung des Strings wird als neuer Befehl ausgeführt. 

Gibt es sowieso einen Zeilenvorschub zu kodieren oder dies zu tun?

27
chief7

Sie können direkt mit dem Caret mehrzeilige Zeichenfolgen erstellen (eine leere Zeile ist erforderlich). 

setlocal EnableDelayedExpansion
set multiLine=This is a ^

multiline text^

line3
echo !multiLine!

Oder Sie erstellen zunächst einen Zeilenumbruch.

setlocal EnableDelayedExpansion
set LF=^


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

Eine Erklärung, wie das funktioniert, finden Sie unter Erläutern Sie, wie DOS-Batch-Newline-Variablenhack funktioniert.

32
jeb

Erweiterung um jeb Antwort , Hinzufügen von! LF! ^ Zu jeder Zeile wäre einfach 

setlocal EnableDelayedExpansion
set LF=^



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