MATLAB编程技巧:文件批量重命名
处理大量数据的时候,需要对文件的名称进行批量的重命名,一个一个的去重命名耗费时间,并且容易出现错误,可以利用MATLAB编写一段小脚本,即可实现对文件的批量重命名。
下面是函数的主要代码:
%% File Content
clc
clear
% 路径
FilePath = 'C:\Users\zengf\Desktop\Fig';
cd(FilePath)
% 获得工作目录下所有文件信息,返回文件信息的结构体
files = dir('*.png');
% 循环体
for i = 1 : length(files)
% oldName之所以用双引号括起来,是为了防止原文件名中的空格对后面调用dos的影响
oldName = ['"', files(i).name, '"'];
% 获取文件名中'.'的位置
idx = strfind(files(i).name, '.');
% 获取文件的名称,去除文件名中的扩展名
FileName = files(i).name(1 : idx(end) - 1);
% 自定义文件名,在文件名后面添加’_mdl'
newName = [FileName, '_mdl', '.png'];
% 设置为数字序号的文件名
% newName=['img',num2str(i,'%05d'),'.jpg'];
% 设置文件名添加前缀
% newName=strcat('RH_', oldName);
% 这个函数实际上就是调用执行操作系统命令,比如这里的 rename 命令,32 是 ASCII 码,表示空格。
% rename oldname newname
command = ['rename' 32 oldName 32 newName];
status = dos(command);
if status == 0
disp([oldName, ' 已被重命名为 ', newName])
else
disp([oldName, ' 重命名失败!'])
end
end
实现对文件的重命名主要是利用系统函数dos命令。