如何访问所有subdirectorie ?

11视图(30天)
米娜
米娜 2018年3月6日
评论道: 米娜2018年3月6日
我想找到所有子文件夹在文件夹中。我知道怎么做但是我想一步递归地这么做,直到找到所有sub-subdirectories。例子:我在“M: \ F1”。假设我有F1_1和F1_2文件夹可以用下面的代码访问
文件= dir (M: \ F1的)
%得到逻辑向量告诉这是一个目录。
dirFlags =[文件。isdir] & ~ strcmp ({files.name},“。”)& ~ strcmp ({files.name},“. .”)
%提取只有那些目录。
子文件夹=文件(dirFlags)
我有另一个文件夹在F1_1 F1_1_1和一个叫F1_1_1_1文件夹中。我怎么能递归地找到这两个文件夹的路径,例如,
M: \ F1 \ F1_1_1
M: F1 \ \ F1_1_1 \ F1_1_1_1
2的评论
米娜
米娜 2018年3月6日
谢谢你的回答。

登录置评。

接受的答案

Fangjun江
Fangjun江 2018年3月6日
使用dir (fullfile (M: \ F1, * * / *。*))。它将一切都在文件夹和子文件夹列表。

更多的答案(3)

保罗鞋匠
保罗鞋匠 2018年3月6日
编辑:保罗鞋匠 2018年3月6日
新版本的Matlab允许dir递归地运作。简单地修改你的原始dir一样:
文件= dir ([”男:“filesep“F1”filesep“* * / * *’。]);
然后你的过滤dirFlags正如你所做的一切。瞧!
注意:如果您查看帮助你会看到其他技术来过滤以不同的方式,如只搜索一个水平。
保罗鞋匠

伊莱亚斯Gule
伊莱亚斯Gule 2018年3月6日
看到这的一个例子。

米娜
米娜 2018年3月6日
我还发现以下
dirs = regexp (genpath (“M \ F1”),(“[^;]*”),“匹配”);

类别

找到更多的在文件操作帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!