从包含 space 个字符的路径加载 file.q

Load file.q from path containing space character

如何从包含空格的路径加载脚本文件?

例如,这个有效:

\l F:/file.q

以下尝试引发错误:

\l  F:/Folder with spaces/file.q
\l "F:/Folder with spaces/file.q"
\l hsym `$"F:/Folder with spaces/file.q"
system "l "F:/Folder with spaces/file.q""

不太实用,但如果需要加载路径中有空格的文件,可以使用windows短文件名:

所以给定一个脚本路径:F://Folder with spaces/file with spaces.q

给定

  • Folder with spaces 获取简称 folder~1
  • script with spaces.q 获取简称 filewi~.q

您可以在q中按如下方式加载文件:

q)system "l F://folder~1/filewi~1.q"
    Hello from a q script with spaces in file name

您可以通过在带有 /x 标志的命令打印中列出目录来获取 file/folder 的简称(例如 dir /x


与 windows 中的一般情况一样,您最好避免在文件路径中使用空格。

我知道这是一个非常古老的 post,但刚刚遇到了同样的问题。找到适合我的解决方案:

system "cd c:/your path/with spaces/"
system "l your_script.q"