我使用dir
函数列出文件夹的内容,但它为前两个文件夹提供了.
和..
。有没有办法得到这个愚蠢过程的杖。
我可以在dir
函数中使用正则表达式吗? (如果可以的话,它可以是一个解决方案)
答案 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确实支持通配符*