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

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

相关推荐
机器学习之心7 小时前
MATLAB基于BP神经网络-多模态多目标优化的喷墨打印纳米银导线工艺参数优化
神经网络·matlab·工艺参数优化
Dillon Dong9 小时前
从C到Simulink:什么是MATLAB_MEX_FILE 宏,如何阻挡STM32 HAL 头文件
c语言·stm32·matlab
我爱C编程9 小时前
基于SARSA强化学习的迷宫路线规划matlab仿真
matlab·强化学习·sarsa·迷宫路线规划
机器学习之心10 小时前
BO-CNN-BiLSTM贝叶斯优化卷积双向长短期记忆神经网络多输入多输出预测,MATLAB代码
神经网络·matlab·cnn·bo-cnn-bilstm
Dev7z1 天前
非线性MPC在自动驾驶路径跟踪与避障控制中的应用及Matlab实现
人工智能·matlab·自动驾驶
π同学1 天前
基于Matlab的改进的广义预测控制
matlab·改进的广义预测控制
IT猿手1 天前
三维动态避障路径规划:基于部落竞争与成员合作算法(CTCM)融合动态窗口法DWA的无人机三维动态避障方法研究,MATLAB代码
算法·matlab·动态规划·无人机·路径规划·动态路径规划
freexyn1 天前
Matlab速成笔记七十:使用多项式函数进行曲线拟合
开发语言·笔记·matlab
我找到地球的支点啦1 天前
Matlab系列(006) 一利用matlab保存txt文件和读取txt文件
开发语言·算法·matlab
Dev7z1 天前
基于Matlab实现GRACE卫星重力数据的全球水储量变化估算与分析
人工智能·算法·matlab