2012-02-16 11 views
6

Necesito crear una sola variable de cadena concatenando varias cadenas. La cadena final que necesito es la siguiente.archivo .bat para crear una variable de cadena compleja con caracteres especiales

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

Esto es lo que probé.

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% 

También he intentado usar el siguiente enlace para eliminar las comillas dobles de cada cadena, pero no funciona
http://ss64.com/nt/syntax-esc.html

Respuesta

9

podría utilizar la sintaxis extendida de SET. establece "var = content".

Esto escapa a caracteres especiales, pero las comillas no son parte de la cadena.

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

Hola, muchas gracias por su pronta respuesta. Por favor, ¿podría decirme la diferencia entre! Fullpath! y% pathpath% en este caso? – NewQueries

+1

Se ha retrasado la expansión, la ventaja de la expansión retrasada es que aquí se pueden usar caracteres especiales sin ningún efecto secundario – jeb

+0

Oh, bien, gracias jeb. – NewQueries

Cuestiones relacionadas