omitting pointers when listing folder contents
조회 수: 20 (최근 30일)
이전 댓글 표시
In order to list folder contents I use:
TopFolder = dir('E:\');
Say if I had one file within that specific folder MATLAB returns 3 structures where the name of the first two are just pointers i.e. '.' and '..'.
How is it possible to omit these? I currently just omit the first two by:
a = SubFolder(3:end)
then use
a.name
to obtain the name. Is there a more accurate way of doing this i.e. supported by the documentation?
댓글 수: 0
채택된 답변
Jan
2012년 6월 12일
It is not documented, that . and .. are the first two elements replied by DIR. Therefore checking the names is safer:
DirList = dir('E:\');
DirName = {DirList.name};
DirList(strcmp(DirName, '.')) = [];
DirList(strcmp(DirName, '..')) = [];
To omit all files and folders starting with a dot:
DirList = dir('E:\');
DirName = {DirList.name};
DirList(strncmp(DirName, '.', 1)) = [];
Now "DirList" is the cleaned list of files and folders.
댓글 수: 1
Walter Roberson
2012년 6월 12일
But will still have any folders whose names did not happen to start with '.'
추가 답변 (1개)
참고 항목
카테고리
Help Center 및 File Exchange에서 File Operations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!