日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

文件重命名批量处理(Matlab)

發布時間:2023/12/13 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 文件重命名批量处理(Matlab) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第一種方法:eval 方法
該方法未對文件進行任何處理,直接重命名。文件不損失任何信息。

tic clear; close all; % edited by cmwang,if any problem,please reference the website %http://blog.csdn.net/jiandanjinxin/article/details/51513598%------------------------------------------------------------------------- % 讀取文件方法1 srcDir=uigetdir('Choose source directory.'); %獲得選擇的文件夾 cd(srcDir); % 讀取文件方法2 % % srcDir='.\FinalJPEG2048'; %獲得選擇的文件夾 % % cd(srcDir); %--------------------------------------------------------------------------% 帶有時間標志的重命名文件夾年月日和時刻 savetime = fix(clock); savetimestr = num2str(savetime); savetimestr(isspace(savetimestr)) = []; %去除所有空格 Renamefullname = ['Rename' savetimestr];if exist(Renamefullname,'dir') == 0mkdir (Renamefullname) elsecd Renamefullnamedelete *cd .. end% 復制重命名文件夾到帶有時間標志的文件夾中 copyfile('*.jpg',Renamefullname)cd(Renamefullname); allnames=struct2cell(dir('*.jpg')); %只處理8位的jpg文件 [k,len]=size(allnames); %獲得jpg文件的個數for ii=1:len%逐次取出文件name=allnames{1,ii};%----------------------------------------------------------------------% 重命名規則為原始圖像中的數值加上100,你可在此區域添加你自己的重命名規則newnameformat =name(end-3:end);numberstr1 = name(end-6:end-4);number = str2num(numberstr1);number2 =num2str(number+100);newname = [number2 newnameformat];%----------------------------------------------------------------------% 關于renameStr一定要注意里面的空格和雙引號renameStr = ['!rename', ' "',name,'" ',newname];eval(renameStr) end cd .. close all; Renametime = toc;disp('------------------------------------------------------------------') disp(['The Rename time is ', num2str(Renametime), 's']) disp('------------------------------------------------------------------')

第二種方法: imwrite
該方法對文件進行了處理在另存為,即重命名。但是文件有可能會損失信息,具體信息可對比重命名前后文件的大小。

tic clear; close all; % edited by cmwang,if any problem,please reference the website %http://blog.csdn.net/jiandanjinxin/article/details/51513598%------------------------------------------------------------------------- % 讀取文件方法1 srcDir=uigetdir('Choose source directory.'); %獲得選擇的文件夾 cd(srcDir); allnames=struct2cell(dir('*.jpg')); %只處理8位的jpg文件 [k,len]=size(allnames); %獲得jpg文件的個數% 讀取文件方法2 % % srcDir='.\FinalJPEG2048'; %獲得選擇的文件夾 % % cd(srcDir); %--------------------------------------------------------------------------% 帶有時間標志的重命名文件夾年月日和時刻 savetime = fix(clock); savetimestr = num2str(savetime); savetimestr(isspace(savetimestr)) = []; %去除所有空格 Renamefullname = ['Rename' savetimestr];if exist(Renamefullname,'dir') == 0mkdir (Renamefullname) elsecd Renamefullnamedelete *cd .. endfor ii=1:len%逐次取出文件name=allnames{1,ii};I=imread(name); %讀取文件%-------------------------------------------------------------------------%然后在此處添加你的圖像處理程序即可if size(I,3)==3;A = rgb2gray(I);elseA = I;end%-------------------------------------------------------------------------%----------------------------------------------------------------------% 重命名規則為原始圖像中的數值加上100,你可在此區域添加你自己的重命名規則newnameformat =name(end-3:end);numberstr1 = name(end-6:end-4);number = str2num(numberstr1);number2 =num2str(number+100);newname = [number2 newnameformat];%----------------------------------------------------------------------% 注意imwrite中的空格imwrite(A,['.\' Renamefullname '\',newname]) end close all; Renametime = toc;disp('------------------------------------------------------------------') disp(['The Rename time is ', num2str(Renametime), 's']) disp('------------------------------------------------------------------')

總結

以上是生活随笔為你收集整理的文件重命名批量处理(Matlab)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。