24小时热门版块排行榜    

查看: 237  |  回复: 0

qauxjp

铜虫 (初入文坛)

[求助] 多层文件夹读取文件函数返回值问题

%matlab 文件夹中所有的文件路径 包括子文件夹的文件路径
function  FilesAll(iniPath)
%iniPath='D:\My Documents\MATLAB';%初始化路径
if (iniPath(end)~='\')
    iniPath=[iniPath,'\'];
end
%files=dir(fullfile(iniPath,'*.*'));%过滤
files=dir(iniPath);
n=size(files,1);%文件个数
for i=1:n
    tName=files(i,1).name;
    if (~strcmp(tName,'.')&&~strcmp(tName,'..')) %排除'.'和'..'
        if (~files(i,1).isdir) %非目录
            
            filename=fullfile(iniPath,tName);%文件名及路径
            [pathstr,name,ext]=fileparts(filename);
            if(strcmp(ext,'.wav'))
                  disp(filename);%do something in here
              end
                     
        else %是目录
            iniPaths=[iniPath,tName];
            FilesAll(iniPaths);
        end
    end
end

以上程序能打印出要多层文件夹下的所有wav文件,但我想从函数返回值中得到,输入wavfiles= FilesAll(inipath),
不必打印,而是得到一个数组,这个数组包含所有wav文件的完整路径名,因用了递归方法,一次只能显示一个,不知道怎么
产生一个动态的数组并从function中返回来。

谢谢了
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 qauxjp 的主题更新
信息提示
请填处理意见