我是靠谱客的博主 魔幻白云,最近开发中收集的这篇文章主要介绍【MATLAB】文件批量重命名。防止文件名顺序错误,在文件名自动补充“0”.(代码),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

再次续更NEW

下面的这段代码最简洁,后边的内容可完全忽视。就这段代码足以说明。

pathname="D:";
for ii=1:1000
   %----
   filename_old="XXX";%balabla...
   nametype = sprintf('%04d',ii);%%最关键的一句。
   %把每个ii都用4位数表述,比如1表示为000177表示为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”.(代码)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部