天天看點

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
           

繼續閱讀