我当前正在尝试编写一个程序,该程序要求我访问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命令的解决方案或指南。
答案 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)