by HPC_ZY
MATLAB读取主文件夹内所有子文件及包含特定字符的所有文件。Python的os.walk()函数就能完成这个任务,但MATLAB自带的dir()只能搜索当前文件夹内的文件夹及文件,所以自己写了这么一个函数(利用递归的思想)。在这里分享给大家。
代码
% 获取主路径下所有的文件、子路径、子路径下文件
%
% 输入:
% folder 文件夹
% str 特定字符
%
% 输出:
% folder 子文件夹列表(文件夹)
% file 文件列表(文件-所在文件夹)
% list 关系总表(文件夹-子文件夹-文件)
%
% example:
% [folder,file,list] = findfolderfile('.\test\img','jpg');
%
% by HPC_ZY 20200105
%% 获取某文件夹下所有子文件列表,与含特定字符的所有文件列表
function [folder,file,list] = findfolderfile(folder,str)
% 利用递归获得子文件夹与文件
list = folderfile(folder,str,[]);
% 文件夹总表
folder = list(:,1);
% 文件总表
file = [];
for k = 1:size(list,1)
if ~isempty(list(