RunProgram mit Leerzeichen in einem Powershell-BefehlIch erhalte eine Fehlermeldung beim Laden einer Zeichenfolge, die Leerzeichen enthält, und ich muss doppelte Anführungszeichen setzen.
Names Default to Here(1);
parameter_A = "this has spaces";
parameter_B = "specific.domain.com";
command = "program -Name \!"" || parameter_A ||"\!" -Path \!"" || parameter_B || "\!"";
write(command );
// outputs the expected:
// program -Name "this has spaces" -Path "specific.domain.com"<BR />
add_result = RunProgram(
Executable( "powershell.exe" ),
Options( {"/c", command } ),
ReadFunction( "text" ));Der Parameter_A unterbricht die Ausführung, da angenommen wird, dass weitere Argumente übergeben werden. Der Befehl funktioniert jedoch, wenn ich die Ausgabe von write in Powershell kopiere und einfüge.
Was vermisse ich?
Erweiterte statistische ModellierungVerbraucher- und MarktforschungDatenmischung und -bereinigungBetreff: RunProgram mit Leerzeichen in einem Powershell-BefehlHier weist auf eine ausführliche Erklärung hin, warum die Windows-Befehlszeile so schwer zu verwenden ist. Die Anführungszeichen bewirken nicht wirklich das, was wir denken.
Ich würde die Apostrophe und Anführungszeichen mischen, wie Sie es getan haben, weil es einfacher zu verstehen ist.
Betreff: RunProgram mit Leerzeichen in einem Powershell-BefehlDas hat mir früher bei einem ähnlichen Fall geholfen: Übergeben Sie das Angebot an die Anwendung „Programm ausführen“.
escapedquote = "\!\\!"";
Betreff: RunProgram mit Leerzeichen in einem Powershell-BefehlNames Default to Here(1);
parameter_A = "this has spaces";
parameter_B = "specific.domain.com";
command = "powershell "\!"program -Name '" || parameter_A ||"' -Path '" || parameter_B || '"\!"";
write(command );
// outputs the expected:
// powershell "program -Name 'this has spaces' -Path 'specific.domain.com'"
add_result = RunProgram(
Executable( "cmd.exe" ),
Options( {"/C", command } ),
ReadFunction( "text" ));Das hat bei mir funktioniert, ich bin mir nicht sicher, ob es eine bessere Lösung gibt, die keine einfachen Anführungszeichen verwendet.