2010-07-20 4 views
14

그렇다면 어떻게?배치 파일이 여러 줄 변수를 지원합니까

편집 ....

예, 배치 파일은 절름발이,하지만 난 PowerShell을 사용할 수 없습니다, 나는이 간단한 작업을 할 수있는 실제 응용 프로그램을 작성하는 기분이 안 내가 뭘 원하는 것을 찾아야합니다.

set var="this is a 
multi 
line 
string " 

답변

14

또는 "진짜"개행 문자를 만들 수 있습니다. 이 변형으로

setlocal enableDelayedExpansion 
set NL=^ 


rem two empty line required 
echo first line !NL! second line 
set multi=Line1!NL!Line2 
set multi=!multi!!NL!Line3 
echo !Multi! 

는 개행 문자가 문자열에서 "보통"문자이기 때문에 변수가 정상적으로 행동하고 다른 변수에 할당 할 수 있습니다, 이것은 간단한 유용하다 &echo. 트릭 (불가능 작업).

+0

이것은 내가 원했던 것입니다. 감사. –

11

괜찮습니까?

@echo off 
set var=kur 
set var2=kur2 
echo var is = "%var%" and var2 is = %var2% 

편집
당신이 무엇을 의미하는 것이 무엇입니까?

@echo off 
set nl=^& echo. 
echo this%nl%is%nl%multiline%nl%string 
+0

작동! -------- –

+0

완벽하게 감사드립니다. –

+0

+1 우와 ... 그가 의도 한 바가 어땠을까요? –

1

그리고 지금 - 보조 SET 명령없이 :

echo this is a & echo multi & echo line & echo string 
2
SET myFlags=^
    a^
    b^
    c 
+0

'echo % myFlags %'또는'echo! myFlags! '와 함께 나에게 효과가 없었습니다. –

1

이 꽤 오래된 질문이지만, 내가 함께 모두가 제대로 작동하고 추가 @Fabricio 및 @jeb에서 솔루션의 하이브리드를 넣어 일부 가독성 :

setlocal enableDelayedExpansion 
set NL=^ 


rem two empty line required 
set var=this is a !NL!^
multi !NL!^
line !NL!^
string !NL! 

echo !var! 
관련 문제