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

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

相关推荐
机器学习之心1 小时前
基于动态三维环境的Q‑Learning无人机自主避障路径规划的完整MATLAB实现
matlab·无人机·cocos2d
软件算法开发10 小时前
基于边境牧羊犬优化算法的LSTM网络模型(BCO-LSTM)的一维时间序列预测matlab仿真
人工智能·matlab·lstm·时间序列预测·边境牧羊犬优化·bco-lstm
春日见12 小时前
E2E自驾规控30讲:导论
开发语言·驱动开发·git·matlab·计算机外设
guygg8816 小时前
基于数据驱动的模型预测控制电力系统机组组合优化MATLAB实现
开发语言·matlab
happy_baymax17 小时前
三电平矢量表达式MATLAB实现
开发语言·matlab
小白小宋18 小时前
PRACH 前导序列生成详解与Matlab实现
5g·matlab·信息与通信·信号处理
t1987512818 小时前
基于深度学习的图像分割MATLAB实现
人工智能·深度学习·matlab
Evand J1 天前
【MATLAB例程】多无人机协同巡逻仿真:基于长机-僚机模型的编队保持与串级PID控制
开发语言·matlab·无人机·控制·pid·串级pid
3GPP仿真实验室2 天前
【MATLAB源码】感知:CFAR 检测算法库
算法·matlab·目标跟踪
Evand J2 天前
【MATLAB教程】在matlab中,gscatter和scatter两个命令的区别
开发语言·matlab·教程·绘图·命令·教学