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

采纳的回答

Jos (10584)
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 个)

类别

Help CenterFile Exchange 中查找有关 File Operations 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by