webentwicklung-frage-antwort-db.com.de

Wie man Anführungszeichen in Exec Command in MSBuild vermeidet

Ich versuche, ein MSBuild-Skript zu erstellen, das ein Netzwerklaufwerk einem Laufwerksbuchstaben im Skript zuordnet, aber leider enthält der Pfad zum Zielordner einen eingebetteten Speicherplatz. Das eingebettete Leerzeichen führt dazu, dass die Zuordnung fehlschlägt, und ich weiß nicht, ob es möglich ist, Anführungszeichen um den Pfad herum zu umgehen. Ich habe es mit doppelten Anführungszeichen versucht, aber MSBuild mag es nicht (entweder das oder Windows XP mag es nicht). Weiß jemand, wie man dieses Biest codiert, damit die Karte funktioniert?

<Exec Command="Net Use x: \\ofmapoly703\c$\program files\ar\iap /user:$(UserID) $(Password)"
WorkingDirectory="c:\"
ContinueOnError="false"
/>

Der eingebettete Raum tritt natürlich in "Programmdateien" auf.

122
Cyberherbalist

Verwenden &quot; um die doppelten Anführungszeichen zu kodieren, die net im Attributwert Command sehen soll:

<Exec Command="Net Use x: &quot;\\ofmapoly703\c$\program files\ar\iap&quot; /user:$(UserID) $(Password)" 
WorkingDirectory="c:\" 
ContinueOnError="false" 
/> 
180
vladr

Sie können einfache Anführungszeichen für den Befehl verwenden, z.

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

(From MSBuild exec task ohne Blockierung )

75