【matlab】如何批量修改图片命名
(●’◡’●)先赞后看养成习惯😊
假如我的图片如下,分别是1、2、3、4、5的命名
-
需求一:假如现在我需要在其后面统一加上_behind字符串,并且保留原命名,同时替换掉原先的图片,也就是不copy新的一份,直接在原文件夹中处理,我们可以进行如下代码的编写
- 导入文件夹图片的路劲
- 读取所有文件,循环的时候用length就可以自动获取图片数量,而不用自己去设置
folder_path = 'C:\Users\Desktop\original';
file_list = dir(fullfile(folder_path, '*.png')); % 获取文件夹中所有后缀为.png的文件列表
for i = 1:length(file_list)
old_name = file_list(i).name; %获取第 i 个文件的名称
new_name = [old_name(1:end-4) '_behind.png']; % 在原文件名后添加字符"_behind"并修改后缀为.png
old_path = fullfile(folder_path, old_name);
new_path = fullfile(folder_path, new_name); % 构造新旧文件的完整路径
movefile(old_path, new_path); % 重命名文件
end
结果如下
folder_path = 'C:\Users\Desktop\original';
file_list = dir(fullfile(folder_path, '*.png')); % 获取文件夹中所有后缀为.png的文件列表
for i = 1:length(file_list)
old_name = file_list(i).name; %获取第 i 个文件的名称
new_name = ['front_',old_name(1:end-4) '.png']; % 在原文件名前添加字符"front_"并修改后缀为.png
old_path = fullfile(folder_path, old_name);
new_path = fullfile(folder_path, new_name); % 构造新旧文件的完整路径
movefile(old_path, new_path); % 重命名文件
end
- 需求三:假如现在我需要在其前面统一加上front_字符串,并且保留原命名,但是我想保留原先的图片以及命名,那么我们可以新建一个文件夹来放置copy重命名后的图片,我们可以进行如下代码的编写
folder1_path = 'C:\Users\Desktop\original';
folder2_path = 'C:\Users\Desktop\later';
file_list = dir(fullfile(folder1_path, '*.png')); % 获取文件夹中所有后缀为.png的文件列表
for i = 1:length(file_list)
old_name = file_list(i).name; %获取第 i 个文件的名称
new_name = ['front_',old_name(1:end-4) '.png']; % 在原文件名前添加字符"front_"并修改后缀为.png
old_path = fullfile(folder1_path, old_name);
new_path = fullfile(folder2_path, new_name); % 构造新旧文件的完整路径
copyfile(old_path, new_path); % 复制文件
end
总结:
- movefile函数用于移动文件或文件夹到新的位置;
- copyfile函数用于复制文件或文件夹到新的位置
更新不易,看到这里如果对你有帮助,欢迎点赞+关注+收藏!