Matlab查找当前目录及子目录下所有文件

function directories=findfiles(dire,ext)
%the directory you want to find files
%extension name of the files you want to find

% dire=[matlabroot,filesep,'bin\win32'];
% ext='dll';

%check if the input and output is valid
if ~isdir(dire)
    msgbox('The input isnot a valid directory','Warning','warn');
    return
else
if nargin==1
        ext='*';
elseif nargin>2|nargin<1
    msgbox('1 or 2 inputs are required','Warning','warn');
    return
end
if nargout>1
    msgbox('Too many output arguments','Warning','warn');
    return
end

%containing the searching results
D={};

%create a txt file to save all the directory
fout=fopen('direc.txt','w');

%containing all the directories on the same class
folder{1}=dire;
flag=1; %1 when there are folders havenot be searched,0 otherwise
while flag
    currfolders=folder;
    folder={};
    
    for m=1:1:length(currfolders)
        direc=currfolders{m};
        files=dir([direc,filesep,'*.',ext]);%当前目录下的ext

你可能感兴趣的:(matlab)