Matlab批量获取子文件夹与文件名

批量得到父文件夹下所有子文件夹的路径的MATLAB函数。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function [SubFolders] = GetFolders(ParentFolder)
%GetFolders
% 函数功能为获取父文件夹下所有子文件夹的路径
% 函数的输入为ParentFolder:父文件夹路径。eg: 'D:\Program Files'
% 函数的输出为SubFolders:子文件夹路径。为一个元胞数组,eg: {'D:\Program Files\FileZilla FTP Client\docs'}
  
SubFolderNames = dir(ParentFolder);
for i=1:length(SubFolderNames)
        if( isequal( SubFolderNames( i ).name, '.' )||...
        isequal( SubFolderNames( i ).name, '..')||...
        ~SubFolderNames( i ).isdir) % 如果不是目录则跳过
            continue;
        end
        SubFolder(i).SubFolderName = fullfile( ParentFolder, SubFolderNames( i ).name );
end
 
temp = {SubFolder.SubFolderName};
idx = cellfun(@(x)~isempty(x),temp,'UniformOutput',true); % 利用cellfun函数得到元胞数组中所有非空元素的下标
SubFolders = temp(idx);
 
end

批量得到文件夹下某一类型的所有文件名的MATLAB函数。

1
2
3
4
5
6
7
8
9
10
11
function [FileNames] = GetFileNames(Path,Format)
% GetFileNames
% 函数的功能为获得某一路径下,某种格式所有文件名
% 函数的输入1为Path,要获取的路径。eg: 'D:\Program Files\FileZilla FTP Client\docs'
% 函数的输入2为Format,要获取路径的文件格式。eg: '*.txt','*.docx','*.png'
 
fileFolder=fullfile(Path);
dirOutput=dir(fullfile(fileFolder,Format));
FileNames={dirOutput.name};
 
end

利用上面两个函数,结合实际问题,利用循环便可实现文件夹嵌套情况下的文件名批量获取



posted @   岁时  阅读(5679)  评论(1编辑  收藏  举报
编辑推荐:
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
阅读排行:
· 手把手教你更优雅的享受 DeepSeek
· AI工具推荐:领先的开源 AI 代码助手——Continue
· 探秘Transformer系列之(2)---总体架构
· V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库
· 乌龟冬眠箱湿度监控系统和AI辅助建议功能的实现
点击右上角即可分享
微信分享提示