2012-02-16 2 views
6

여러 문자열을 연결하여 단일 문자열 변수를 만들어야합니다. 필요한 마지막 문자열은 다음과 같습니다..bat 파일을 사용하여 특수 문자로 복잡한 문자열 변수를 만들려면

<Workspace name="RealTimeRiskUSD_UA" path="C:\workspace" IsAdmin="false" /> 

이것은 내가 시도한 것입니다.

echo off 
set path1="<Workspace " 
set name="name="RealTimeRiskUSD_UA"" 
set path2="path="C:\workspace" IsAdmin="false" />" 
set fullpath=%path1%%name%%path2% 
echo %path1% 
echo %name% 
echo %path2% 
echo %fullpath% 

은 또한 각각의 문자열에서 따옴표를 제거하려면 아래의 링크를 사용하여 시도했지만
http://ss64.com/nt/syntax-esc.html

답변

9

당신은 SET의 확장 구문을 사용할 수 있습니다 작동하지 않습니다. "var = content"를 설정하십시오.

특수 문자를 이스케이프하지만 따옴표는 문자열의 일부가 아닙니다.

echo off 
Setlocal EnableDelayedExpansion 
set "path1=<Workspace " 
set "name=name="RealTimeRiskUSD_UA"" 
set "path2=path="C:\workspace" IsAdmin="false" />" 
set "fullpath=%path1%%name%%path2%" 
echo !fullpath! 
+0

안녕하세요. 빠른 답변을 보내 주셔서 감사합니다. 제발 저에게 차이점을 말씀해 주시겠습니까? 그리고이 경우 % fullpath %? – NewQueries

+1

확장이 지연되어 지연 확장의 이점은 특수 문자가 아무런 부작용없이 사용될 수 있다는 것입니다. – jeb

+0

오, 감사합니다. – NewQueries

관련 문제