工作需要,大文件夹下有90000多个小文件夹,每个文件夹下都有数目不一的excel文件,需要统计所有的excel文件个数。
(1)这里简单的举个例子吧,自己随便创的文件夹
(2)通过学习借鉴和修改,完成了这个matlab函数。get_file_list_from_folder
(3)存储后运行,结果为包含了所有符合条件的文件名称的数组
[a]=get_file_list_from_folder('E:\工作\网格结果','xlsx');
% folder_path为总的输入的文件夹,str为指定的文件所特有的关键字,例如"csv"或者“xlsx”(文件类型可自定义)
% 最终输出的结果是满足“str”的文件名称的数组
function [name]=get_file_list_from_folder(folder_path,str)
%% find all the object file path in a folder
name={};
files = dir(folder_path);
index=1;
for i=1:length(files)
file=files(i);
if file.isdir && ~contains(file.name,'.') && ~contains(file.name,'..')
subdir=fullfile(folder_path,file.name);
[tmpName]=get_file_list_from_folder(subdir,str);
for kk = 1 : length(tmpName)
name{index} = tmpName(kk);
index = index + 1;
% file_list{index} = tmpName(kk);
end
else
path=fullfile(folder_path,file.name);
if contains(path,str)
% disp(path)
name{index} = path;
index=index+1;
end
end
end
end