matlab获取特定后缀的文件名

该函数可获取目录及子目录下相同后缀的所有文件,返回的是一个cell

入参:root_path是根目录字串,ext是后缀字串,两个可选参数,current_only是true则仅返回当前目录下的文件,否则返回包含子目录中的所有文件,默认false,basename_only是true则返回无父母录名称的文件名,否则返回文件全名,默认false

function filenames = get_filenames(root_path,ext,varargin)
    filenames = {};
    p = inputParser;
    addParameter(p,'current_only',false);
    addParameter(p,'basename_only',false);
    parse(p,varargin{:});
    folders = {};
    if ~p.Results.current_only
        folder_str = genpath(root_path);
        folders = strsplit(folder_str,';');
    else
        folders = {root_path};
    end
    for folder = folders
        files = dir(fullfile(folder{1}, ['*.', ext]));
        for i = 1:length(files)
            file = files(i);
            if p.Results.basename_only
                filename = file.name;
            else
                filename = fullfile(file.folder,file.name);
            end
            filenames{end+1} = filename;
        end     
    end  
end

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值