本文介绍如何使用 Matlab 代码从一个大文件夹下多个子文件夹中,批量复制每个子文件夹中的 'ar.nii' 文件到一个新的文件夹,并且保持原文件夹名。

步骤:

  1. 使用 dir 函数获取大文件夹下的所有子文件夹信息。例如,假设大文件夹路径为 '大文件夹路径',则可以使用 subfolders = dir('大文件夹路径') 获取所有子文件夹信息。

  2. 遍历 subfolders,对于每个子文件夹,使用 fullfile 函数构建该子文件夹的完整路径,并检查是否存在 'ar.nii' 文件。例如,假设子文件夹的名称保存在 subfolder.name 中,则可以使用 folder_path = fullfile('大文件夹路径', subfolder.name) 获取子文件夹的完整路径,然后使用 if exist(fullfile(folder_path, 'ar.nii'), 'file') 来检查 'ar.nii' 文件是否存在。

  3. 如果 'ar.nii' 文件存在,则使用 copyfile 函数将该文件复制到新文件夹中。例如,假设新文件夹路径为 '新文件夹路径',则可以使用 copyfile(fullfile(folder_path, 'ar.nii'), fullfile('新文件夹路径', subfolder.name)) 将 'ar.nii' 文件复制到新文件夹中,并保持原来的文件夹名。

示例代码:

% 大文件夹路径
大文件夹路径 = '大文件夹的路径';

% 新文件夹路径
新文件夹路径 = '新文件夹的路径';

% 获取大文件夹下的所有子文件夹的信息
subfolders = dir(大文件夹路径);

% 遍历所有子文件夹
for i = 1:numel(subfolders)
    % 忽略 '.' 和 '..' 子文件夹
    if strcmp(subfolders(i).name, '.') || strcmp(subfolders(i).name, '..')
        continue;
    end
    
    % 构建子文件夹的完整路径
    folder_path = fullfile(大文件夹路径, subfolders(i).name);
    
    % 检查子文件夹中是否存在 ar.nii 文件
    if exist(fullfile(folder_path, 'ar.nii'), 'file')
        % 复制 ar.nii 文件到新文件夹中,保持原来的文件夹名
        copyfile(fullfile(folder_path, 'ar.nii'), fullfile(新文件夹路径, subfolders(i).name));
    end
end

注意:

  • 在运行上述代码之前,需要将实际的大文件夹路径和新文件夹路径替换为你的实际路径。
  • 确保 MATLAB 已经正确安装和配置。
Matlab 批量复制特定文件到新文件夹并保持原文件夹名

原文地址: https://www.cveoy.top/t/topic/po4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录