2009-05-13 11 views
29

que je dois faire un .bat pour DOS qui procédez comme suit:variables concaténer

set ROOT = c:\programas\ 
set SRC_ROOT = (I want to put the ROOT Here)System\Source 

donc après la définition ROOT je veux avoir SRC_ROOT = c: \ programas \ System \ Source

Comment Je fais ça?

Répondre

50

set ROOT = c: \ programmes ensemble SRC_ROOT =% ROOT% \ System \ Source

D'ailleurs, quel est le sens de la | après la racine? Une faute d'orthographe?

Grégoire

EDIT: sans espaces

set ROOT=c:\programs 
set SRC_ROOT=%ROOT%\System\Source 
+0

oui ... c'est un mal orthographié ... Ce que vous avez écrit était la première chose que j'ai essayée ... Cela ne fonctionne pas ... si je fais un écho à SRC_ROOT seulement \ system | source apparaît – UcanDoIt

+0

en fait les espaces entre le = ne sont pas necessery, essayez: définir ROOT = c: \ programmes définir SRC_ROOT =% ROOT% \ System \ Source – podosta

+0

il fait du travail: S – UcanDoIt

6

Notez que si les espaces sont nécessaires alors les guillemets sont nécessaires à la définition et doivent être coupés en concaténer:

rem The retail files set 
set FILES_SET="(*.exe *.dll" 

rem The debug extras files set 
set DEBUG_EXTRA=" *.pdb" 

rem Build the DEBUG set without any 
set FILES_SET=%FILES_SET:~1,-1%%DEBUG_EXTRA:~1,-1% 

rem Append the closing bracket 
set FILES_SET=%FILES_SET%) 

echo %FILES_SET% 

Vive ...

Questions connexes