为什么matlab不理解文件名中的*?

时间:2011-03-17 10:33:34

标签: string file matlab dir

我试图使用:

dir('dirname\*')

它不起作用。我开始使用后开始工作了:

dir('dirname\m*')

有人知道为什么吗?

3 个答案:

答案 0 :(得分:7)

Matlab确实理解通配符*,但是你不熟悉的方式试图遵守Windows cmd路径约定,你输入了字符串\*,这是一个字面星号(由于转义为反斜杠)

变通方法或在所有平台上指定路径的首选方法是使用正斜杠/作为目录分隔符。

dir('dirname/*')

这也解释了为什么在反斜杠“修复”问题后添加m;星号不再是文字星号,而是允许被解释为通配符。

编辑:Documentation明确表示允许使用通配符并按预期工作(参见上面的解释)。

答案 1 :(得分:0)

你的操作系统是什么?在Windows上,第一行运行良好。但是,“*”可能被Matlab视为文字“*”。 dir('dirname/*')会怎样?

答案 2 :(得分:0)

尝试提供完整路径,例如dir('c:\ dirname * .m'), 并确保文件夹'dirname'存在。