概述
再次续更NEW
下面的这段代码最简洁,后边的内容可完全忽视。就这段代码足以说明。
pathname="D:";
for ii=1:1000
%----
filename_old="XXX";%balabla...
nametype = sprintf('%04d',ii);%%最关键的一句。
%把每个ii都用4位数表述,比如1表示为0001;77表示为0077等。
%注:“%04d”不能简写为“%4d”
filename_new= strcat(pathname,'_',nametype,'.bmp');
movefile(filename_old,filename_new);
end
nametype =sprintf(‘%04d’,iiii);
%%最关键的一句。把每个ii都用4位数表述,比如1表示为0001;10表示为0010等。是字符串的形式哈。
以下内容,完全可以忽视不看了!
整理时间:2020-03-08
1.问题:
使用dir函数获取到文件名,但是顺序排列如下:
1.txt
10.txt
2.txt
3.txt
4.txt
5.txt
6.txt
7.txt
8.txt
9.txt
注意:10.txt排在第二位,并非是最后一个,这样不是我们期望的。
2.传统办法
重新在文件中命名,很麻烦。
3.我的代码,自动实现重命名,自动补0
以下是一个文件名最长位23个字符的举例。
pathname='G:text';
list=dir(fullfile(pathname,'*.txt'));
nn=length(list);
maxlen=23;
for ii=1:nn
filename=list(ii).name;
curlen=length(filename);
if curlen<maxlen
dd=maxlen-curlen;
xstr='0';
xsumstr='0';
for xx=1:dd-1
xsumstr=[xsumstr,xstr];
end
filename1=[filename(1:16), xsumstr,filename(17:end)];
movefile(filename,filename1);
end
disp(ii);
end
结果如下:
新的代码:(2020-03-09,更加简洁)
pathname='G:text';
list=dir(fullfile(pathname,'*.txt'));
nn=length(list);
minlen=0;
maxlen=0;
for ii=1:nn
filename=list(ii).name;
curlen=length(filename);
if curlen>maxlen
maxlen=curlen;
end
if curlen<minlen
minlen=curlen;
end
end
%xx=input('数字位=(比如29-1.raw就是2)';
for ii=1:nn
filename=list(ii).name;
curlen=length(filename);
if curlen<maxlen
dd=maxlen-curlen;
xstr=char(48*ones(1,dd));
filename1=[filename(1:16), xstr,filename(end-3:end)];
movefile(filename,filename1);
end
disp(ii);
end
示例增加:
2021-06-03
对于raw 文件批量命名
pathname='C:采图';
list=dir(fullfile(pathname,'*.raw'));
nn=length(list);
minlen=0;
maxlen=0;
for ii=1:nn
filename_old=list(ii).name;
curlen=length(filename_old);
if curlen>maxlen
maxlen=curlen;
end
if curlen<minlen
minlen=curlen;
end
end
%xx=input('数字位=(比如29-1.raw就是2)';
for ii=1:nn
filename_old=list(ii).name;
curlen=length(filename_old);
if curlen<maxlen
dd=maxlen-curlen;
xstr=char(48*ones(1,dd));
filename_new=[xstr,filename_old];
pathfilename_old=fullfile(pathname,filename_old);
pathfilename_new=fullfile(pathname,filename_new);
movefile(pathfilename_old,pathfilename_new);
end
disp(ii);
end
运行结果:
THE END~
最后
以上就是魔幻白云为你收集整理的【MATLAB】文件批量重命名。防止文件名顺序错误,在文件名自动补充“0”.(代码)的全部内容,希望文章能够帮你解决【MATLAB】文件批量重命名。防止文件名顺序错误,在文件名自动补充“0”.(代码)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复