Ich versuche, einen SAS-Code mit VBScript über die Befehlszeile auszuführen. Ich habe jedoch Probleme mit der richtigen Übergabe der Befehle von VBScript an die Befehlszeile. Ich bin mir ziemlich sicher, dass es eine Frage von Anführungszeichen und chr(34)
richtig ist, aber ich kann es nicht herausfinden.Cmd-Befehle mit Leerzeichen aus VBscript
Deshalb mag ich den folgt Befehl in der Befehlszeile auszuführen:
"C:\Program Files\SAS 9.4\sas.exe" -SYSIN "C:\Program Files\test.sas"
Ich habe versucht, so etwas wie
Set oShell = WScript.CreateObject ("WScript.Shell")
oShell.run "cmd.exe /K copy ""C:\Program Files\SAS 9.4\sas.exe"" -SYSIN ""C:\Program Files\test.sas"" ", 1, True
Set oShell = Nothing
Aber ich erhalte einen ungültigen Syntaxfehler in der Befehlszeile. Irgendwelche guten Ideen?
Oh yeah Ich war verwirrt von dem Versuch, google. Der Befehl, den ich ausführen möchte, ist also nur 'oShell.run" cmd.exe/K ""^"" C: \ Programme \ SAS 9.4 \ sas.exe^"" -SYSIN^"" C: \ Program Files \ test.sas^"" "" ", 1, True" Da dies die Datei test.sas in der Befehlszeile ausführen sollte. Das obige funktioniert jedoch nicht. Ich bekomme einen Fehler mit 'C: \ Program ' ' was ich denke, die Quotierung ist nicht funktioniert: -/ – user112110
Ah, meine Entschuldigung, ich habe es falsch selbst. 'CMD/K' hat spezielle Verhalten in Bezug auf Zitate, das nirgendwo anders in CMD zu sehen ist und das ich vergessen habe. Ich habe die ursprüngliche Antwort korrigiert. –
Funktioniert wie ein Zauber. Vielen Dank - jetzt wird meine Arbeit viel einfacher ;-) – user112110