matlab将一个文件夹中所有子文件夹中的文件分别储存在结构体中
时间: 2023-07-29 07:10:31 浏览: 101
可以使用 `dir` 函数获取指定文件夹中的所有文件信息,然后使用循环遍历每个子文件夹并获取其中的文件信息。最后将每个文件信息存储到结构体中。
下面是一个示例代码:
```matlab
folder_path = 'your/folder/path'; % 指定文件夹路径
file_list = dir(folder_path); % 获取文件夹中的所有文件信息
% 遍历每个子文件夹
for i = 1:length(file_list)
subfolder_name = file_list(i).name; % 获取子文件夹名称
subfolder_path = fullfile(folder_path, subfolder_name); % 获取子文件夹路径
% 排除非文件夹和当前文件夹/上一级文件夹
if strcmp(subfolder_name, '.') || strcmp(subfolder_name, '..') || ~isfolder(subfolder_path)
continue;
end
% 获取子文件夹中的所有文件信息
subfile_list = dir(subfolder_path);
subfile_list = subfile_list(~[subfile_list.isdir]); % 排除子文件夹
subfile_count = length(subfile_list);
% 将文件信息存储到结构体中
for j = 1:subfile_count
file_name = subfile_list(j).name; % 获取文件名称
file_path = fullfile(subfolder_path, file_name); % 获取文件路径
file_info(i, j).name = file_name; % 存储文件名
file_info(i, j).path = file_path; % 存储文件路径
% 可以在此处添加其他需要存储的文件信息
end
end
```
执行上述代码后,会得到一个名为 `file_info` 的结构体,其中每个元素代表一个子文件夹,每个子文件夹又包含若干个文件信息。你可以根据自己的需要修改存储的文件信息。
阅读全文