在uigetdir返回的值上使用cd函数时,名称不存在或不是目录

时间:2013-07-10 08:33:07

标签: matlab path

通过Windows Parallels(Windows 7)运行R2012a(7.14.0.739),并收到此错误。

  >>folder_name=uigetdir;
  >>cd folder_name;
  

使用cd时出错   不能CD到folder_name(名称不存在或不是目录)。

奇怪的是,如果我将'folder_name'结果复制并粘贴到Matlab GUI的文件夹字段中,我可以手动设置工作目录路径。

启动Matlab没有问题,也没有自定义startup.m或pathdef.m。 这个问题的根源是什么? 什么是变通方法? 谢谢!

2 个答案:

答案 0 :(得分:1)

错误原因

您在“命令表单”中使用cd。因此,Matlab将cd folder_name理解为cd-ing到名为“folder_name”的文件夹。在“命令形式”中,matlab不会评估变量名称以查看存储在变量folder_name中的字符串是什么。

解决方案

您需要在其“功能形式”中使用cd

cd( folder_name )

这样matlab知道folder_name是变量名,而不是文件夹的实际名称。

为了更好地理解,cosider之间的区别:

>> cd( folder_name )

>> cd( 'folder_name' )
  

cd( 'folder_name' ) is the "function form" equivalent of the "command form" cd folder_name`。

答案 1 :(得分:1)

型:

  
    

编辑pathdef.m

  

并删除包含错误的文件,我只是将它们评论出来,我的错误就消失了。