我有很多带空格的文件夹名称,即“红狗” - > “c:\ red dog \”
files = dir
str = ['cd ', files(3).name]
eval(str)
执行将错误do返回到空格:
>> eval(str)
Error using cd
Too many input arguments.
有什么工作?... thx
答案 0 :(得分:10)
您是否有理由使用eval
?试试吧
cd(files(3).name);
答案 1 :(得分:5)
尝试使用cd(files(3).name)
代替cd files(3).name
(这是使用括号调用cd
函数)。
如果出于某种原因,您希望将cd
用作命令而不是函数(cd myPath
而不是cd(myPath)
),则必须将该字符串括在单引号中。这样你的例子就像这样:
str = ['cd ''', files(3).name '''']
eval(str)
答案 2 :(得分:0)
不确定matlab,但您是否尝试在文件名周围加上引号?
files = dir
str = ['cd ''', files(3).name, '''']
eval(str)
答案 3 :(得分:0)
如果安装了RTW,则可以使用
cd( rtw_alt_pathname( files(3).name ) )
rtw_alt_pathname
以8.3格式返回路径