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 小时前
【超详解】量子克拉美罗下界QCRB:时延估计精度极限推导+MATLAB多场景绘图实战
开发语言·机器学习·matlab·量子力学·qcrb
水桶学习吧_16 小时前
MTMD人致振动MATLAB-SAP2000协同优化
matlab·mtmd·sap2000
ι:17 小时前
MATLAB 与 Python 搭建无人机地面站:优势、劣势与选型逻辑
python·matlab·无人机
吃好睡好便好1 天前
MATLAB仿真框图4
开发语言·matlab·仿真·分段函数
RickyWasYoung1 天前
【matlab】坐标图四角畸变矫正代码
开发语言·matlab
NoteStream1 天前
MATLAB散点投影线型热图(linearheatmap)完整可复用代码
开发语言·matlab
youngerwang2 天前
【从“聊天“到“执行“:MATLAB Agentic AI + MCP Server 实战——以 5G NR PDSCH 波形仿真为例】
人工智能·5g·matlab
机器学习之心3 天前
基于CEEMDAN-TCN-BiGRU的空气质量指数(AQI)预测研究,五模型对比,实验报告+MATLAB代码
matlab·tcn-bigru·ceemdan·空气质量指数
吃好睡好便好4 天前
MATLAB仿真框图3
开发语言·matlab·仿真·simulink
吃好睡好便好5 天前
MATLAB仿真框图2
开发语言·matlab·仿真·simulink