DIR multiple file extensions

28 visualizzazioni (ultimi 30 giorni)
Lisa Loh
Lisa Loh il 5 Feb 2023
Commentato: Voss il 6 Feb 2023
Hi, is there a simpler and shorter way for writing this code?
The code is working fine so I assume I'm writing it correctly, just that if there are more extensions to be added, it will be long and repetitive.
extensions = [...
dir(fullfile(folder,'*.txt'));
dir(fullfile(folder, '*.py'));
dir(fullfile(folder, '*.mp3'));
dir(fullfile(folder, '*.exe'));
dir(fullfile(folder,'*.jpg'));
];

Risposta accettata

Voss
Voss il 5 Feb 2023
You can put those dir() calls in cellfun:
ext = {'*.txt','*.py','*.mp3','*.exe','*.jpg'};
extensions = cellfun(@(x)dir(fullfile(folder,x)),ext,'UniformOutput',false);
extensions = vertcat(extensions{:});
Then when you need to add more extensions, just include them in the 'ext' variable.
  4 Commenti
Lisa Loh
Lisa Loh il 6 Feb 2023
Thank you very much for the deep explanation!
Voss
Voss il 6 Feb 2023
You're welcome!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Structures in Help Center e File Exchange

Prodotti


Release

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by