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 小时前
【无人机设计与控制】四旋翼无人机俯仰姿态保持模糊PID控制(带说明报告)
开发语言·算法·数学建模·matlab·无人机
2401_8581205311 小时前
深入理解MATLAB中的事件处理机制
前端·javascript·matlab
leon62511 小时前
优化算法(一)—遗传算法(Genetic Algorithm)附MATLAB程序
开发语言·算法·matlab
小齿轮lsl11 小时前
PFC理论基础与Matlab仿真模型学习笔记(1)--PFC电路概述
笔记·学习·matlab
学习不好的电气仔15 小时前
基于虚拟阻抗的逆变器下垂控制环流抑制策略MATLAB仿真
开发语言·matlab
原机小子15 小时前
掌握MATLAB中的数据类型转换技巧
开发语言·matlab
机器学习之心18 小时前
时序预测 | Matlab实现SSA-TCN麻雀搜索算法优化时间卷积网络时序预测-递归预测未来数据(单输入单输出)
matlab·递归预测未来·ssa-tcn·麻雀搜索算法优化时间卷积网络
shiming887921 小时前
MATLAB图像处理
图像处理·计算机视觉·matlab
slandarer21 小时前
MATLAB | R2024b更新了哪些好玩的东西?
java·数据结构·matlab
2401_8581202621 小时前
MATLAB中的无线通信系统部署和优化工具有哪些
开发语言·matlab