matlab批量修改文件名
·
% %先把matlab的工作文件夹切换到需要重命名的文件夹
% clc;
% clear all;
%
% % 读取所有以s开头,nii后缀的文件
% file = dir('s*.nii');
% % 获取文件个数
% len = length(file);
%
% % 遍历所有文件
% for i = 1:len
% if i<10
% % 获取第i个文件名
% oldname = file(i).name;
% % 定义第i个文件名,字符串连接函数strcat,'MBI_00'根据自己的需求进行更换
% newname = strcat('MBI_00', int2str(i), '.nii');
% % windows重命名命令:rename oldname newname
% % 使用windows命令,32为空格的ASCII码
% eval(['!rename' 32 oldname 32 newname]);
% else
% oldname = file(i).name;
% % 注意这里是‘MBI_0’
% newname = strcat('MBI_0', int2str(i), '.nii');
% eval(['!rename' 32 oldname 32 newname]);
% end
% now_process = strcat('Now I am processing --',' ',newname,'....');
% disp(now_process);
% end
%如果文件数大于100,可以用以下代码
% clc;
% clear all;
%
% % 读取所有以s开头,nii后缀的文件
% file = dir('F:\20240820_dataset\data2\old_image\*.png');
% timename = load('F:\20240820_dataset\data2\stream.txt');
% % 获取文件个数
% len = length(file);
%
% % 遍历所有文件
% for i = 1:len
% if i<10
% % 获取第i个文件名
% oldname = file(i).name;
% % 定义第i个文件名,字符串连接函数strcat,'NPS_00'根据自己的需求进行更改
% newname = strcat( int2str(timename(i,3)), '.png');
% % windows重命名命令:rename oldname newname
% % 使用windows命令,32为空格的ASCII码
% eval(['!rename' 32 oldname 32 newname]);
% elseif (10<=i)&&(i<99)
% oldname = file(i).name;
% % 定义第i个文件名,字符串连接函数strcat
% newname = strcat(int2str(timename(i,3)), '.png');
% eval(['!rename' 32 oldname 32 newname]);
% else
% oldname = file(i).name;
% % 定义第i个文件名,字符串连接函数strcat
% newname = strcat(int2str(timename(i,3)), '.png');
% eval(['!rename' 32 oldname 32 newname]);
% end
% now_process = strcat('Now I am processing --',' ',newname,'....');
% disp(now_process);
% end
clc;
clear;
% file = dir('F:\20240820_dataset\data3\left\*.png'); % 防止数据误覆盖,注释该行
newpath='F:\20240820_dataset\data3\new_image\';
timename = load('F:\20240820_dataset\data3\stream.txt');
lens=length(file);
for i=1:lens
oldname=file(i).name;
newname = strcat( int2str(timename(i,3)), '.png');
img=imread([file(i).folder,'\',oldname]);
% '!'的意思是调用系统函数
%eval(['!rename',oldname,newname]);
newfile=[newpath,newname];
imwrite(img,newfile)
now_process = strcat('Now I am processing --',' ',newname,'....');
if(mod(i,500)==0)
disp(i); % 每十个显示一次进度
end
end
disp('Finsh !!!');
更多推荐


所有评论(0)