Führen Sie das Programm mit Leerzeichen im Dateipfad ausHallo zusammen,
Derzeit habe ich Probleme mit der Ausführung eines runprogram- Befehls mit einem Dateipfad, der ein Leerzeichen enthält:
myPath = "C:\Users\FilePath\Test.py"
myInfo = runprogram(executable("python"), options({myPath}),readfunction("text"));
Das funktioniert einwandfrei, aber wenn der Dateipfad ein Leerzeichen enthält, wird der Pfad abgeschnitten, sodass die Datei nicht gefunden werden kann:
myPath = "C:\Users\File Path\Test.py"
myInfo = runprogram(executable("python"), options({myPath}),readfunction("text"));Vielleicht kann mir jemand helfen - danke,
GD
Erweiterte statistische ModellierungVerbraucher- und MarktforschungQualitäts- und VerfahrenstechnikBetreff: Programm mit Leerzeichen im Dateipfad ausführenHallo Craige,
vielen Dank - eigentlich habe ich den Beitrag gesehen, aber nicht geschafft, ihn anzupassen.
Danke nochmal, funktioniert einwandfrei!
Betreff: Programm mit Leerzeichen im Dateipfad ausführenVorheriger Kommentar zur Verwendung von Anführungszeichen: https://community.jmp.com/t5/Discussions/Unable-to-parse-speechmarks-quot-quot-into-powershell-using/mp/245968/highlight/true#M48328
Sie können ein CMD-Fenster (das schwarze DOS-Fenster) verwenden, um zu sehen, wie Windows den Befehl mit Anführungszeichen ausführen möchte:
Use quotation marks around parameters with embedded spacesUse quotation marks around parameters with embedded spacesUse quotation marks around parameters with embedded spacesVerwenden Sie Anführungszeichen um Parameter mit eingebetteten Leerzeichen
Sobald das funktioniert, müssen Sie es in eine JMP-Zeichenfolge einfügen, was eine Art Escapezeichen erfordert, da JMP auch Anführungszeichen verwendet. Escapezeichen Sie für dieses Beispiel einfach die beiden Anführungszeichen mit \!"
filename = "c:\Program Files\Common Files\System\Ole DB\oledbjvs.inc";
write("filename = ", filename); // no quotation marks
txt = runprogram(executable("python"), options({
"\!"" || filename || "\!""
}),readfunction("text"));Verwenden Sie die Funktion „Schreiben“ in JMP, nicht die Funktion „Drucken“, die noch mehr Verwirrung stiftet, indem der gedruckte Text in Anführungszeichen gesetzt wird.
Sie könnten die Anführungszeichen auch in die Zeichenfolge einbauen, aber die obige JSL ist das, was Sie brauchen, wenn Sie den Dateinamen von etwas wie der Funktion filesInDirectory erhalten ... Sie müssen sie noch hinzufügen. Sie können Anführungszeichen hinzufügen, auch wenn sie nicht benötigt werden. Sehen Sie sich den Link oben an, wenn Sie aus irgendeinem Grund Anführungszeichen in der Mitte des Dateinamens haben.