MATLAB遍历文件夹下所有文件


先给出函数

function [ files ] = scanDir( root_dir )

files={};
if root_dir(end)~='/'
 root_dir=[root_dir,'/'];
end
fileList=dir(root_dir);  %扩展名
n=length(fileList);
cntpic=0;
for i=1:n
    if strcmp(fileList(i).name,'.')==1||strcmp(fileList(i).name,'..')==1
        continue;
    else
        fileList(i).name
        if ~fileList(i).isdir % 如果不是目录则跳过
            
            full_name=[root_dir,fileList(i).name];
            
                 cntpic=cntpic+1;
                 files(cntpic)={full_name};
%              end
        else
            files=[files,scanDir([root_dir,fileList(i).name])];
        end
    end
end

end

测试文件夹如下所示:

 

文件夹1如下所示:(文件夹1里面的新建文件夹有3个图片,文件夹1共10个文件)

文件夹2如下所示:(文件夹2共2个文件)

测试:

files=scanDir('C:\Users\yangsu\Desktop\test2');

得到一个1×12cell的数据

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM