batch file - Unable to concatenate strings separated by comma -


i'm being driven crazy stupidly simple problem eating time. want append strings separated comma, comma doesn't appended. below batch file snippet:

set missingparams= set switchurl= set truststore= if 0%switchurl%==0 (set missingparams=switchurl)   if 0%truststore%==0 (     if not 0%missingparams%==0 (                  set missingparams=%missingparams%,       )       set missingparams=%missingparams%truststore   ) 

after runnin script when echo %misingparams%, expected value switchurl,truststore prints

switchurltruststore.

d:\deleteme>echo %missingparams% switchurltruststore 

for debugging, when introduced echo statements in batch file, results more bizzare:

set missingparams= if 0%switchurl%==0 (set missingparams=switchurl)   if 0%truststore%==0 (     if not 0%missingparams%==0 (           echo missingparams=%missingparams%       set missingparams=%missingparams%,       echo missingparams=%missingparams%     )     set missingparams=%missingparams%truststore     echo missingparams=%missingparams%   ) 

when run above script prints

missingparams=switchurl missingparams=switchurl missingparams=switchurl 

and when echo value command prompt, before switchurltruststore

d:\deleteme>echo %missingparams% switchurltruststore 

does have ideas? frustrating me no end.

this standard parenthesis/delayedexpansion problem.

the simple rule %var% expanded before parenthesis block executed(while parsing).

if need var-expansion later, should use delayed expansion.
explained in set /?

setlocal enabledelayedexpansion set missingparams= set switchurl= set truststore= if 0!switchurl!==0 (set missingparams=switchurl)   if 0!truststore!==0 (     if not 0!missingparams!==0 (                  set missingparams=!missingparams!,       )       set missingparams=!missingparams!truststore   ) 

Comments

Popular posts from this blog

redirect - bbPress Forum - rewrite to wwww.mysite prohibits login -

apache - Add omitted ? to URLs -

php - How can I stop spam on my custom forum/blog? -