how to extract the names of all the files with an specific extension content in different directories and omit the name if is repeated?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
German Preciat Gonzalez
le 28 Juin 2016
Réponse apportée : Jos (10584)
le 28 Juin 2016
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 commentaire
José-Luis
le 28 Juin 2016
Why do you use setdiff? Do you want the unique names across all three directories?
Réponse acceptée
Jos (10584)
le 28 Juin 2016
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 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur File Operations dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!