Ejecutar programa con Space Char en FilePathHola a todos,
Actualmente estoy luchando por ejecutar un comando de ejecución de programa con una ruta de archivo que contiene un carácter espacial:
myPath = "C:\Users\FilePath\Test.py"
myInfo = runprogram(executable("python"), options({myPath}),readfunction("text"));
Esto funciona perfectamente, pero cuando la ruta del archivo contiene un espacio, la ruta se corta y no se puede encontrar el archivo:
myPath = "C:\Users\File Path\Test.py"
myInfo = runprogram(executable("python"), options({myPath}),readfunction("text"));Quizás alguien pueda ayudarme. Gracias.
Director General
Modelado estadístico avanzadoInvestigación de Consumidores y MercadosIngeniería de Calidad y ProcesosRe: Ejecutar programa con Space Char en FilePathHola Craige,
muchas gracias - en realidad vi la publicación pero no logré adaptarla.
Gracias de nuevo, funciona perfectamente!
Re: Ejecutar programa con Space Char en FilePathComentario anterior sobre el uso de comillas: https://community.jmp.com/t5/Discussions/Unable-to-parse-speechmarks-quot-quot-into-powershell-using/mp/245968/highlight/true#M48328
Puede usar una ventana de CMD (la ventana del cuadro negro de DOS) para ver cómo Windows quiere que se haga el comando entre comillas:
Use quotation marks around parameters with embedded spacesUse quotation marks around parameters with embedded spacesUse quotation marks around parameters with embedded spacesUse comillas alrededor de los parámetros con espacios incrustados
Una vez que tenga eso funcionando, debe incorporarlo a una cadena JMP, lo que requiere algún tipo de escape ya que JMP también usa comillas. Para este ejemplo, simplemente escape las dos comillas 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"));Use la función "escribir" en JMP, no la función "imprimir" que agrega más confusión al envolver el texto impreso con comillas.
También puede incluir las comillas en la cadena, pero el JSL anterior es lo que necesita si obtiene el nombre de archivo de algo como la función filesInDirectory... todavía necesita agregarlos. Puede agregar comillas incluso si no son necesarias. Consulte el enlace en la parte superior si tiene comillas en medio del nombre del archivo por algún motivo.