Comment échapper aux guillemets dans la commande Exec dans MSBuild

j'essaye de construire un script MSBuild qui mappe un lecteur réseau à une lettre de lecteur dans le script, mais malheureusement le chemin vers le dossier cible inclut un espace intégré. L'espace intégré provoque l'échec de la cartographie, et je ne sais pas s'il est possible d'échapper aux guillemets autour du chemin. J'ai essayé les guillemets doubles, mais MSBuild ne l'aime pas (soit ça, soit Windows XP ne l'aime pas). Quelqu'un sait coder cette bête pour que la carte fonctionne?

<Exec Command="net use x: ofmapoly703c$program filesariap /user:$(UserID) $(Password)"
WorkingDirectory="c:"
ContinueOnError="false"
/>

l'espace intégré se trouve bien sûr dans les"fichiers de programme".

117
demandé sur Cyberherbalist 2010-03-10 05:03:11

3 réponses

utilisez &quot; pour coder les doubles guillemets que vous voulez net pour voir la valeur de l'attribut Command :

<Exec Command="net use x: &quot;\ofmapoly703\c$\program files\ar\iap&quot; /user:$(UserID) $(Password)" 
WorkingDirectory="c:\" 
ContinueOnError="false" 
/> 
173
répondu vladr 2010-03-10 02:17:46

vous pouvez utiliser des guillemets simples pour la commande, par exemple

  <Exec Command='explorer.exe "$(DestinationDir)"' IgnoreExitCode="true" />

(De MSBuild exec tâche sans blocage )

69
répondu Michael Freidgeim 2017-05-23 12:34:57

pour moi l'utilisation des guillemets au lieu de " c'est une meilleure solution. Parce que le ". Cela pourrait conduire à des problèmes lorsque vous essayez de faire un XmlPoke, il va à l'espace des caractères d'une manière drôle: de " à

0
répondu JavierD 2015-02-09 15:57:55