How to return files with a specific extension using 'dir'?
Mostrar comentarios más antiguos
The command
dir *.bmp
will print to the command window the names of all files in the current directory ending with the extension .bmp. I know the following is not valid MATLAB syntax, but is there a command that would be the equivalent of
fileList = dir *.bmp;
I want to create a list of all files ending with a specific extension using minimal code. Currently I have the following:
files = dir;
L = length(files);
index = false(1, L);
for k = 1:L
M = length(files(k).name);
if M > 4 && strcmp(files(k).name(M-3:M), '.bmp')
index(k) = true;
end
end
images = files(index);
There must be a simpler way. Thank you in advance for any comments.
1 comentario
Stephen23
el 17 de Ag. de 2021
"There must be a simpler way."
Of course, just use function sytnax rather than command syntax:
Respuesta aceptada
Más respuestas (1)
Tron
el 27 de Abr. de 2018
Old question, but I found another useful way of doing this. If you have a specific directory you want to search in, you can use a combination of dir and fullfile.
Try
folder = uigetdir();
fileList = dir(fullfile(folder, '*.bmp'));
3 comentarios
Abhilash Sukumari
el 9 de Oct. de 2019
Excellent answer. Such an approach with UI implementation is what sets MATLAB apart from other freeware platforms. It's all inbuilt with one package.
Sebastian Priebe
el 20 de Mayo de 2021
Matlab is neither freeware, nor does this set it apart from them. For example in python you can just use the tkinter module and get the same.
Sean Nomoto
el 17 de Ag. de 2021
or pyqt5 too
Categorías
Más información sobre File Operations en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!