Matlab 如何查找当前路径下包含相应字段文件

点击new ->function,创建函数文件:

function [ VecFiles ] = FindFiles( InputDir,ext,IsReturnNameOnly )
%查找当前路径下所有文件夹
%InputDir: 输入路径
%ext:查找文件名字符段
%IsReturnNameOnly:是否只返回文件名

%check当前路径是否合法
if ~isdir(InputDir)
    msgbox('The input isnot a valid directory','Warning','warn');
    return 
else
    if nargin == 1
        ext = '*';
        IsReturnNameOnly = 1;
    elseif nargin == 2
        IsReturnNameOnly = 1;
    elseif nargin>3||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
end
    %初始化文件列表
    filesname = {};
    %查找当前路径下所有含有ext字段文件
    strtmp = strcat(InputDir,'\*',ext);
    files = dir(strtmp);
    m = length(files);
    %check是否为文件,如是则存入vector
    num = 0;
    for i =1:1:m
        %排除.和..
        if ~(strcmp(files(i).name,'.')||strcmp(files(i).name,'..'))
            tmp = files(i).name;  
            if ~files(i).isdir        
                num = num + 1;
                if IsReturnNameOnly    %返回文件夹列表
                    filesname{num} = tmp;
                else                   %返回文件夹全路径列表
                    tmp = fullfile(InputDir,tmp);
                    filesname{num} = tmp;
                end
            end
        end
    end
    %赋值到返回变量VecFolders
    if nargout==1
        VecFiles = filesname';
    end
end

示例调用:

clc;
clear;
path = 'E:\CCS6.2';
a = FindFiles(path,'.txt',0);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值