我需要使用 Matlab 列出文件夹内的子文件夹。如果我使用
nameFolds = dir(pathFolder),
我得到 .
和 ..
+ 子文件夹名称。然后我必须运行 nameFolds(1) = []
两次。有没有更好的方法来使用 Matlab 获取子文件夹名称?谢谢。
最佳答案
使用dir
输出的isdir
字段来分隔子目录和文件:
d = dir(pathFolder);
isub = [d(:).isdir]; %# returns logical vector
nameFolds = {d(isub).name}';
然后您可以删除 .
和 ..
nameFolds(ismember(nameFolds,{'.','..'})) = [];
您不应该执行 nameFolds(1:2) = []
,因为根目录的 dir
输出不包含那些点文件夹。至少在 Windows 上是这样。
关于列出文件夹中的子文件夹 - Matlab(仅子文件夹,不是文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8748976/