如何批量对子文件夹中的文件更名|基于MATLAB的数据整理

最近学习CAT12分析发现,VBM的分析需要提前将所有个体的nii文件放在一起,但是前期DICOM转格式之后,每个个体的nii分别是在一个以个体ID为名字的独立文件夹中,如何根据每个个体的ID对每个个体的nii进行更名。

DICOM原始核磁采集时的命名往往混乱无序而且冗长,通过ID号对个体文件的命名进行重新整理。

我利用MATLAB写了一段代码,进行更名+移动文件的操作

clear
clc

% 源文件夹路径
sourceFolderPath = 'G:\...\origin';

% 目标文件夹路径
targetFolderPath = 'G:\...\VBM';

% 获取源文件夹下的所有子文件夹列表
subFolders = dir(sourceFolderPath);
subFolders = subFolders([subFolders.isdir]); % 仅保留文件夹

% 遍历每个子文件夹
for i = 1:numel(subFolders)
    % 获取子文件夹名称
    folderName = subFolders(i).name;
    
    % 构建子文件夹路径
    folderPath = fullfile(sourceFolderPath, folderName);
    
    % 获取子文件夹下的所有文件列表
    files = dir(fullfile(folderPath, '*'));
    files = files(~[files.isdir]); % 仅保留文件
    
    % 遍历子文件夹下的每个文件
    for j = 1:numel(files)
        % 构建源文件路径
        sourceFilePath = fullfile(folderPath, files(j).name);
        
        % 构建目标文件路径(修改文件名为所在文件夹的名字)
        [~, fileName, fileExt] = fileparts(files(j).name);
        targetFileName = [folderName, fileExt];
        targetFilePath = fullfile(targetFolderPath, targetFileName);
       
        % 移动文件到目标文件夹
        movefile(sourceFilePath, targetFilePath);
        disp(['文件已移动并重命名:', targetFileName]);
    end
end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值