在Matlab中使用dir函数 - 如何摆脱`.`和`..`

时间:2012-08-27 09:17:51

标签: matlab file-io directory dir

我使用dir函数列出文件夹的内容,但它为前两个文件夹提供了...。有没有办法得到这个愚蠢过程的杖。

我可以在dir函数中使用正则表达式吗? (如果可以的话,它可以是一个解决方案)

3 个答案:

答案 0 :(得分:6)

我不知道任何内置解决方案,但我倾向于执行以下操作:

d = dir ('C:\');
d(~[d.isdir])= []; %Remove all non directories.
names = setdiff({d.name},{'.','..'});

setdiff命令删除不需要的元素。


摆脱...的另一种廉价方法是使用通配符(仅限Windows):

d = dir ('C:\*.*');

答案 1 :(得分:4)

这个怎么样

list = dir('/var/temp');
list = list(3:end,:);

当然假设前两个条目确实是...,这可能不是所有操作系统的情况

答案 2 :(得分:2)

根据本文档的声音,dir只显示操作系统本身返回的内容,因此我怀疑如果不对返回的列表进行一些后期处理,您将能够抑制它

http://www.mathworks.co.uk/help/techdoc/ref/dir.html

dir确实支持通配符*