6

我有很多带有空格的文件夹名称,即“red dog”->“c:\red dog\”

files = dir
str = ['cd ', files(3).name]
eval(str)

执行返回错误do到空间:

>> eval(str)
Error using cd
Too many input arguments.

解决方法是什么?... thx

4

4 回答 4

10

你有使用的理由eval吗?试一试

cd(files(3).name);
于 2013-01-15T22:30:02.293 回答
5

尝试使用cd(files(3).name)而不是cd files(3).name(这是,cd使用括号调用函数)。

如果出于某种原因您想cd用作命令而不是函数(cd myPath而不是cd(myPath)),则必须将字符串括在单引号中。这样,您的示例将如下所示:

str = ['cd ''', files(3).name '''']
eval(str)
于 2013-01-15T22:35:16.673 回答
0

不确定 matlab,但您是否尝试在文件名周围加上引号?

files = dir
str = ['cd ''', files(3).name, '''']
eval(str)
于 2013-01-15T22:13:59.300 回答
0

如果您安装了 RTW,则可以使用

cd( rtw_alt_pathname( files(3).name ) )

rtw_alt_pathname以 8.3 格式返回路径

于 2013-01-15T22:30:02.377 回答