Matlab批量修改文件名

想要把文件夹下面所有的 .nii 文件名全改成类似于 3_i.nii 的文件,i 按照文件顺序从 1 递增。
Matlab批量修改文件名_第1张图片
在当前文件夹下创建一个脚本:re_name3.m

clc;
clear all;

% 读取所有nii后缀的文件
file = dir('*.nii');
% 获取文件个数
len = length(file);

% 遍历所有文件
 for i = 1:len
     % 获取第i个文件名
     oldname = file(i).name;
     % 定义第i个文件名,字符串连接函数strcat
     newname = strcat('3_', int2str(i), '.nii');
     % windows重命名命令:rename oldname newname
     % 使用windows命令,32为空格的ASCII码
     eval(['!rename' 32 oldname 32 newname]); 
 end
  • dir 函数获取当前目录下所有 nii 文件信息并存储在 file
  • file 是一个结构体,保存了文件名、修改时间等一系列文件信息
  • length 函数获取 file 的长度,即保存的文件个数,存储在 len
  • .name 获取 file(i) 中的 name 信息,比如 3_00053_niftynet.nii
  • 定义新文件名使用字符串连接函数 strcat()
  • 最后修改文件名需要调用系统命令,! 表示使用windows命令,32 为空格的 ASCII 码

运行以后就实现了要达到的效果啦~
Matlab批量修改文件名_第2张图片

另外,在批量处理的时候通常可能用到 strcat 函数,其基本用法是:

for i = 1:100
	new = strcat('img_', int2str(i), '.jpg');
end

通过以上代码,每次循环 new 都会保存一个新的名字:img_i.jpg

你可能感兴趣的:(工具使用,#,MATLAB)