MATLAB :按数字顺序批量重命名文件夹+按自然顺序读取文件

MATLAB :按数字顺序批量重命名文件夹,并按自然顺序读取文件

MATLAB 默认文件输出顺序一般是:

	1.jpg
	11.jpg	
	12.jpg
	2.jpg
	21.jpg
	3.jpg

而我们想要输出的形式是:

	1.jpg
	2.jpg
	3.jpg
	11.jpg
	12.jpg
	21.jpg

即使采用了sort也不能解决此问题。后来我发现将文件重命名,统一输出格式,可以解决上述问题。例如:统一变成三位数字,位数不足前面添0.

	001.jpg
	002.jpg
	003.jpg
	011.jpg
	012.jpg
	021.jpg

基本代码
以 .jpg 格式为例

files = dir('F:\Download\*.jpg');
path1='F:\Download\t1\';	% 文件所在文件夹路径
path2='F:\Download\t2\';	% 文件重命名后存放的文件夹路径
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%04d.jpg',path2,i);	% 重命名后新文件路径
    imwrite(im,new_path);
end

你可能感兴趣的:(MATLAB基础)