How to return files with a specific extension using 'dir'?
618 次查看(过去 30 天)
显示 更早的评论
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 个评论
Stephen23
2021-8-17
"There must be a simpler way."
Of course, just use function sytnax rather than command syntax:
采纳的回答
Image Analyst
2014-8-11
Try
fileList = dir('*.bmp');
Also, see the FAQ: http://matlab.wikia.com/wiki/FAQ#How_can_I_process_a_sequence_of_files.3F, particulalry the second option.
3 个评论
Image Analyst
2020-4-29
True. But I don't think it's wise to have a folder with the name that a single image typically has. Virtually always, files the end in .bmp are image files, not folders.
更多回答(1 个)
Tron
2018-4-27
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 个评论
Sebastian Priebe
2021-5-20
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.
另请参阅
类别
在 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!