我有1000个jpg文件,文件名:1_nb_1_0.0164032559841871、1_nb_1_20.0611820686609,我想通过增加两个字符来用新名称重命名这1000个文件,例如重命名为这个名称:1_nb_1_20.0611820686609但增加ing 20 获取新的其他图像.
datafiles = dir('*.jpeg');
for i = 1:length(datafiles)
fileOut = strrep(datafiles(i).name, '1_nb_1_0.0164032559841871.jpeg', '.jpeg');
movefile(datafiles(i).name, fileOut);
end
`
据我所知,你想做什么:
fileOut = strrep(datafiles(i).name, '1_nb_1_0.0164032559841871.jpeg', '.jpeg');
是否将“1_nb_1_0.0164032559841871.jpeg”替换为新名称?而且新名字是从20到最后跳跃20个?如果是这样的话,你可以这样说:
fileOut = strrep(datafiles(i).name, '1_nb_1_0.0164032559841871.jpeg', strcat(num2str(20*i),'.jpeg'));
这会创建名称 20.jpg,40.jpg,60.jpg... 如果您想要的只是使用另一个名称(例如您已有的名称)执行此操作,也可以这样做:
fileOut = strrep(datafiles(i).name, '1_nb_1_0.0164032559841871.jpeg', strcat('1_nb_1_',num2str(20*i),'.0164032559841871.jpeg'));
然后你会得到 1_nb_1_20.0611820686609.jpg,1_nb_1_40.0611820686609.jpg,...我不确定这是否是你想要的。如果你想从 0 而不是 20 开始,你可以用 num2str(20*(i-1)) 更改它,或者用 num2str(20*(i+1)) 从 40 开始