【M语言编程学习笔记之一, 查找当前路径下文件】

代码如下:

function [name,path]=FindFiles(InputDir)
%查找当前路径下所有文件
%InputDir: 输入路径
%name:输出文件名,cell,路径不合法或者入参数过多,输出name是空元胞数组
%path:文件完整路径,cell,路径不合法或者入参数过多,输出path是空元胞数组


%check当前路径是否合法
if ~isdir(InputDir)
    msgbox('The input isnot a valid directory','Warning','warn');
    name = {};
    path = {};
    return
else
    if nargin>1
        msgbox('Too many input arguments','Warning','warn');
        name = {};
        path = {};
        return
    end
end
%初始化文件列表
name = {};
path = {};
%查找当前路径下所有文件
files = dir(InputDir);
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 isfile(tmp)     %判断是否为文件
            num = num + 1;
            %返回文件夹列表
            name{num} = tmp;
            %返回文件夹全路径列表
            tmp = fullfile(InputDir,tmp);
            path{num} = tmp;
        end
    end
end
end

用法举例

假如C盘有个路径:C:\Project
如果想获取文件名和全路径,[name,path]=FindFiles(‘C:\Project’);
如果只想获取文件名,[name,~]=FindFiles(‘C:\Project’);
如果只想获取文件路径,[~,path]=FindFiles(‘C:\Project’)。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值