前面是搜索到的一些适合的方法,看一下尝试过多少几个代码。后面有总结。
1.先是批量重命名为数字1、2、3,注意这个代码要放在和文件夹一样的地方,不然会出错。就是dir(*.jpg)这句话是一定不能改路径的!
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16clc; clear all; files = dir('*.jpg'); len=length(files); for i=1:len oldname=files(i).name; name=num2str(i); newname=strcat(name,'.jpg'); command = ['rename' 32 oldname 32 newname]; status = dos(command); if status == 0 disp([oldname, ' 已被重命名为 ', newname]) else disp([oldname, ' 重命名失败!']) end end
2.再是为了读取顺序,重命名为001,002...
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13files = dir('*.jpg'); path1='C:UsersAdministrator.PC-20200404IITQDesktopCUHK StudentTrainphotos'; % 文件所在文件夹路径 path2='C:UsersAdministrator.PC-20200404IITQDesktopCUHK StudentTrainphotos2'; % 文件重命名后存放的文件夹路径 len=length(files); for i=1:len oldname = files(i).name; old_path = [path1,oldname]; % 文件路径 im = imread(old_path); % 修改文件名,4位数,不足前面加0 new_path = sprintf('%s%03d.jpg',path2,i); % 重命名后新文件路径 imwrite(im,new_path); end
一步到位:
直接对文件夹按读取顺序进行重命名,但是注意它是按读取顺序重命名的哦,我暂时只需要这个功能哈哈
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16clc; clear all; files = dir('*.jpg'); len=length(files); for i=1:len oldname=files(i).name; name=num2str(i,'%03d'); newname=strcat(name,'.jpg'); command = ['rename' 32 oldname 32 newname]; status = dos(command); if status == 0 disp([oldname, ' 已被重命名为 ', newname]) else disp([oldname, ' 重命名失败!']) end end
0509补充:按名字来补零的,今天用这个代码发现上面命名还是按读取顺序命名,下面这个代码是把原来98变为098的,然后重新排序自然就是按顺序的了
先变换名字补零,后面再用第一部分的代码可以重新编号1,2.。。。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20clc; clear all; files = dir('*.jpg'); path1='./'; % 文件所在文件夹路径 path2='../Train2/'; % 文件重命名后存放的文件夹路径 len=length(files); for i=1:len oldname = files(i).name; old_path = [path1,oldname]; % 文件路径 im = imread(old_path); % 修改文件名字符串部分,3位数,不足前面加0 name0 = oldname(1:end-4); name1=str2num(name0); name2=num2str(name1,'%03d'); name = sprintf('%s%s',path2,name2); new_path=strcat(name,'.jpg');% 重命名后新文件路径 imwrite(im,new_path); end
最后
以上就是健壮期待最近收集整理的关于【Matlab】MATLAB进行批量重命名的全部内容,更多相关【Matlab】MATLAB进行批量重命名内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复