系统命令访问带空格的文件夹

时间:2018-12-30 04:27:18

标签: matlab

我当前正在尝试编写一个程序,该程序要求我访问OneDrive文件夹中的文件,该文件将与多台计算机共享。当前,由于完整路径名中包含空格,因此当我尝试访问OneDrive文件夹时,“系统”命令会引发错误,这是一个问题。

folder = '/Users/myuser/Desktop/OneDrive\ -\ -\ Company\ Name/foldername-AVL'
STR = sprintf('cd %s',folder);
system(STR)

我一直收到的错误是

  

/ bin / bash:行0:cd:%s / Users / myuser / Desktop / OneDrive:没有这样的文件   或目录

因此,它有效地切断了第二个空格之后的所有条目。我已经仔细阅读了文档和所有文档,似乎找不到在这种特定情况下使用system命令的解决方案或指南。

1 个答案:

答案 0 :(得分:0)

我猜您正在尝试逃脱空格。通常,我更喜欢将所有带有双引号空格的参数包装起来。我本以为转义路径也可以,但可能不会...

这应该可以工作,而且更容易阅读(IMHO)。

folder = '"/Users/myuser/Desktop/OneDrive - - Company Name/foldername-AVL"'
STR = sprintf('cd %s',folder);
system(STR)

或-将“移动到sprintf

folder = '/Users/myuser/Desktop/OneDrive - - Company Name/foldername-AVL'
STR = sprintf('cd "%s"',folder);
system(STR)