Mehrere Argumente in der Konsolenanwendung werden nicht korrekt analysiert

8

Einfach zu reproduzieren, aber wirklich seltsam für mich:

Fügen Sie die folgenden 'Argumente' mit 3 Zeichenfolgen in das Befehlszeilenargumente Textfeld in VisualStudio (unter Projekteigenschaften- & gt; Debug- & gt; Startoptionen) ein:

%Vor%

Testen Sie es mit dieser einfachen Konsolenanwendung:

%Vor%

Ergebnis: Das Array (args []) hat 2 statt 3 Strings?

%Vor%

Kann mir jemand erklären, warum das passiert? Es gibt etwas Seltsames mit den Anführungszeichen, denn normalerweise werden die Anführungszeichen durch .net entfernt, aber hier sind noch einige Zitate ... aber ich kann das Problem nicht sehen ...

Danke für jede Hilfe!

    
dataCore 22.01.2013, 17:41
quelle

1 Antwort

12

Sie haben \" im DestinationFolder -Wert, der das Zitat "entkoppelt", einschließlich es im Text des Wertes, anstatt es mit dem Anfangszitat zu paaren, um den String zu schließen. Sie möchten ein Literal, \ , verwenden Sie also \ :

%Vor%

(Sie können sogar das Entkommen in Aktion sehen, wenn SO die Engine hervorhebt)

    
kevingessner 22.01.2013, 17:44
quelle