Matlab 查找文件

1. 查找文件夹下具有指定文件名的所有路径

会遍历所有的文件夹及子文件夹

matlab 复制代码
function filePath = getAllFilePath(fileDir,filename)
subDirs = dir(fileDir); % 列出当前文件夹中的文件和文件夹
filePath = [];
for i = 1:length(subDirs)
    % 判断是否为文件夹,如果是则递归;如果否,则查找文件
    if subDirs(i).isdir && subDirs(i).name ~= "." && subDirs(i).name ~= ".."
        recursionDir = [subDirs(i).folder, '\', subDirs(i).name];
        filePath = [filePath; string(getAllFilePath(recursionDir,filename) )];
    elseif subDirs(i).name ~= "." && subDirs(i).name ~= ".."
        if length(subDirs(i).name)>=length(filename)
            if subDirs(i).name(end-length(filename)+1:end) == filename
                filePath1 = [subDirs(i).folder, '\', subDirs(i).name];
                filePath = [filePath; string(filePath1)];
            end
        end
    end
end
filePath = unique(filePath);
end

2. 获取文件夹下所有指定后缀的文件

matlab 复制代码
function filepath = getFilesPath(baseDir, ext, findSubfile)
% findSubfile == true: 搜索子文件夹(默认)
% findSubfile == false: 不搜索子文件夹

if nargin == 2  % 判断输入的参数是否为2
    findSubfile = true;
end
if findSubfile
    dirOutput = dir([baseDir '/**/*.' ext]);
else
    dirOutput = dir([baseDir '/*.' ext]);
end
folder = string({dirOutput.folder}');
file = string({dirOutput.name}');
filepath = strcat(folder, '\', file);
end

参考:
获取文件夹下所有指定后缀的文件(包含子文件夹)

相关推荐
fie88893 小时前
基于MATLAB的LBFGS优化算法实现
算法·matlab
wuk99821 小时前
基于有限差分法的二维平面热传导模型MATLAB实现
开发语言·matlab·平面
csdn_aspnet1 天前
分享MATLAB在数据分析与科学计算中的高效算法案例
算法·matlab·数据分析
弈风千秋万古愁1 天前
【PID】连续PID和数字PID chapter1(补充) 学习笔记
笔记·学习·算法·matlab
成长痕迹2 天前
【Python与Matlab数据分析对比】
python·matlab·数据分析
机器学习之心2 天前
MATLAB基于IOWA算子的投影法加权几何平均组合预测模型
matlab·iowa算子·加权几何平均组合预测模型
秋风战士3 天前
通信算法之336 :3GPPMixed Mode Turbo Decoder
算法·matlab·fpga开发·信息与通信·基带工程
fengfuyao9853 天前
基于小波变换的图像阈值去噪MATLAB实现
matlab
foundbug9993 天前
基于最小二乘(LS)信道估计的MATLAB实现
matlab
柠檬07114 天前
MATLAB相机标定入门:Camera Calibration工具包详解
开发语言·数码相机·matlab