matlab如何对当前文件夹内的各种文件分类显示
时间: 2023-11-07 18:25:22 浏览: 148
可以使用 `dir` 函数获取当前文件夹内的所有文件和子文件夹信息,然后根据文件类型进行分类显示。具体实现代码如下:
```matlab
% 获取当前文件夹及子文件夹内的所有文件和文件夹信息
files = dir('**/*.*');
% 初始化文件类型及对应文件名的结构体数组
fileTypes = struct('type', {}, 'names', {});
nTypes = 0;
% 遍历所有文件和文件夹信息
for i = 1:length(files)
% 排除当前目录和上级目录以及文件夹信息
if ~strcmp(files(i).name, '.') && ~strcmp(files(i).name, '..') && ~files(i).isdir
% 获取当前文件的扩展名
[~, ~, ext] = fileparts(files(i).name);
% 判断当前文件类型是否已存在,不存在则添加到结构体数组中
existFlag = false;
for j = 1:nTypes
if strcmp(fileTypes(j).type, ext)
fileTypes(j).names{end+1} = files(i).name;
existFlag = true;
break;
end
end
if ~existFlag
nTypes = nTypes + 1;
fileTypes(nTypes).type = ext;
fileTypes(nTypes).names = {files(i).name};
end
end
end
% 按照文件类型进行输出
for i = 1:nTypes
fprintf('%s files:\n', fileTypes(i).type);
fprintf('%s\n', fileTypes(i).names{:});
fprintf('\n');
end
```
这段代码会输出当前文件夹内所有不是文件夹的文件,并按照文件类型进行分类显示。