Esegui il programma con Space Char in FilePathCiao a tutti,
attualmente sto lottando con l'esecuzione di un comando runprogram con un percorso file contenente un carattere spazio:
myPath = "C:\Users\FilePath\Test.py"
myInfo = runprogram(executable("python"), options({myPath}),readfunction("text"));
Funziona perfettamente, ma quando il percorso del file contiene uno spazio, il percorso viene tagliato, quindi il file non può essere trovato:
myPath = "C:\Users\File Path\Test.py"
myInfo = runprogram(executable("python"), options({myPath}),readfunction("text"));Forse qualcuno può aiutarmi - grazie,
DG
Modellazione statistica avanzataRicerche sui consumatori e sul mercatoIngegneria della qualità e dei processiRe: Esegui programma con Space Char in FilePathCiao Craig,
grazie mille - in realtà ho visto il post ma non sono riuscito ad adattarlo.
Grazie ancora, funziona perfettamente!
Re: Esegui programma con Space Char in FilePathCommento precedente sull'uso delle virgolette: https://community.jmp.com/t5/Discussions/Unable-to-parse-speechmarks-quot-quot-into-powershell-using/mp/245968/highlight/true#M48328
Puoi usare una finestra CMD (la finestra nera della casella DOS) per vedere come Windows vuole che il comando venga eseguito tra virgolette:
Use quotation marks around parameters with embedded spacesUse quotation marks around parameters with embedded spacesUse quotation marks around parameters with embedded spacesUtilizzare le virgolette attorno ai parametri con spazi incorporati
Una volta che hai funzionato, devi inserirlo in una stringa JMP, che richiede una sorta di escape poiché anche JMP utilizza le virgolette. Per questo esempio, esegui l'escape delle due virgolette usando \!"
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"));Utilizzare la funzione "scrivi" in JMP, non la funzione "stampa" che aggiunge ulteriore confusione avvolgendo il testo stampato tra virgolette.
Puoi anche inserire le virgolette nella stringa, ma il JSL sopra è ciò di cui hai bisogno se ottieni il nome del file da qualcosa come la funzione filesInDirectory ... devi ancora aggiungerli. Puoi aggiungere le virgolette anche se non sono necessarie. Vedi il link in alto se hai delle virgolette nel mezzo del nome del file per qualche motivo.