2010-06-04 10 views
1

Salut, je suis en train une chaîne dans une variablefichiers batch commande arguments de ligne

principal ensemble = svn commit -m "Build mise à jour du numéro de version" install \ msbuild \ VersionNumber.txt

et passant « % principale % "comme argument de ligne de commande pour un autre script template.bat.

mais Template.bat "Build mise à jour le numéro de version" est cosidered une 2ème arg et Reposez 3

un.

s'il vous plaît dites-moi comment passer la variable principale comme un seul argument.

grâce

Répondre

1

variable% principale% contient des espaces, donc si vous l'utilisez comme ceci:

template.bat %main% 

Lot interprétera comme ceci:

template.bat svn blah blah blah 

Alors% 1 sera Si vous souhaitez que le contenu entier de% main% soit traité comme un seul argument, vous devez placer des guillemets autour de celui-ci:

template.bat "%main%" 

Le problème est que% 1 contient maintenant ces guillemets. Vous devez les supprimer à l'intérieur de template.bat en utilisant le tilde:

%~1 
3

Dans le fichier 2ème bat;

@echo whole command line is %* 
+0

Nice, n'a pas pensé à% *. Cela ne fonctionnera cependant pas si plus d'arguments sont passés à template.bat. – chalup

Questions connexes