how to extract the names of all the files with an specific extension content in different directories and omit the name if is repeated?
2 次查看(过去 30 天)
显示 更早的评论
If I want all the name of the files with an extension .jpg in different directories so far I use this:
dir1='~/dir1'
dir2='~/dir2'
dir3='~/dir3'
imageDirs={dir1 dir2 dir3};
fnames=dir([dir1 '/*.jpg']);
files={fnames.name}';
for i=2:length(imageDirs)
fnames=dir([imageDirs{i} '/*.jpg']);
newIm={fnames.name}';
diffIm=setdiff(files,newIm);
files=[files(:);diffIm];
diffIm=setdiff(newIm,files);
files=[files(:);diffIm];
end
files=unique(files);
but I don't think that is efficient at all haha. Any suggestions I will really appreciate that
1 个评论
José-Luis
2016-6-28
Why do you use setdiff? Do you want the unique names across all three directories?
采纳的回答
Jos (10584)
2016-6-28
imageDirs = {dir1 dir2 dir3} ;
for k = 1:numel(imageDirs)
flames = dir(fullfile(imageDirs{k}, '*.jpg')) ; % fullfile for cross-OS compatibility
newIm{k} = {fnames.name} ;
end
UniqueIm = unique([newIm{:}])
0 个评论
更多回答(0 个)
另请参阅
类别
在 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!