最近学习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