在檔案路徑中使用空格字元運行程序大家好,
目前,我正在努力執行包含空格字元的檔案路徑的runprogram命令:
myPath = "C:\Users\FilePath\Test.py"
myInfo = runprogram(executable("python"), options({myPath}),readfunction("text"));
這工作得很好,但是當檔案路徑包含空格時 - 路徑被切斷,因此無法找到檔案:
myPath = "C:\Users\File Path\Test.py"
myInfo = runprogram(executable("python"), options({myPath}),readfunction("text"));也許有人可以幫助我 - 謝謝,
總幹事
進階統計建模消費者與市場研究品質和工藝工程回复:在文件路徑中使用空格字符運行程序嗨克雷奇,
非常感謝 - 實際上我看到了帖子,但沒能適應它。
再次感謝,完美的作品!
回复:在文件路徑中使用空格字符運行程序先前關於使用引號的評論: https://community.jmp.com/t5/Discussions/Unable-to-parse-speechmarks-quot-quot-into-powershell-using/mp/245968/highlight/true#M48328
您可以使用 CMD 窗口(黑色 DOS 框窗口)來查看 Windows 如何使用引號完成命令:
Use quotation marks around parameters with embedded spacesUse quotation marks around parameters with embedded spacesUse quotation marks around parameters with embedded spaces在帶有嵌入空格的參數周圍使用引號
完成該操作後,您需要將其放入 JMP 字符串中,這需要進行某種轉義,因為 JMP 也使用引號。 對於此示例,只需使用 \!" 轉義兩個引號即可。
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"));使用 JMP 中的“write”函數,而不是“print”函數,後者通過用引號將打印的文本引起更多的混淆。
您還可以將引號構建到字符串中,但是如果您從 filesInDirectory 函數之類的東西中獲取文件名,則上面的 JSL 是您所需要的……您仍然需要添加它們。 即使不需要,您也可以添加引號。 如果出於某種原因在文件名中間有引號,請參閱頂部的鏈接。