看板 MATLAB 關於我們 聯絡資訊
如題,請教大家關於以matlab批次修改檔名的問題, 假設要針對大量的.txt檔名做修改,但保留原有的舊檔名,只在其前方加上編號 例如: 原本的檔名為: "舊檔名1ooo.txt"、"舊檔名2xxx.txt"、"舊檔名3vvv.txt"、.... (每個舊檔名稱都不盡相同) 修改完成後,檔名應為: "001-舊檔名1ooo.txt"、"002-舊檔名2xxx.txt"、"003-舊檔名3vvv.txt"、.... 但爬文查到的方法,多半是將整個檔名都修改掉,例如 file = dir '*.txt'; l = length(file); for i=1:l; 舊檔名 = file(i).name; 新檔名 = num2str(i,'%04i.txt'); eval (['!rename' 32 舊檔名 32 新檔名]); end 請教大家更合適的寫法,能將上述程式修改得更理想一些,謝謝大家~! -- ※ 編輯: Willful1 (42.72.240.10 臺灣), 03/17/2020 02:41:42
book5601: 新檔名=strcat(num2str(i,'%04i-'),舊檔名,'.txt') 03/17 15:04
Willful1: 謝謝book大回覆 03/17 20:15
sppmg: regexprep 搭配 () 和 $1,$2 ... 03/18 22:49
Willful1: 謝謝s大回覆 03/19 02:34
profyang: 應該需要regexp沒錯 03/19 08:24
sppmg: 原po要求的文字處理不複雜,1F方法可能比較簡潔。 03/20 01:42
profyang: 可是他後面有跟數字 現在他是要讀到那個數字再加到檔名 03/20 21:22
profyang: 前面 不然哪知道前面數字要加什麼 03/20 21:23
profyang: 還是檔名本來就有按照字母數字順序? 03/20 21:24
sppmg: 哦!沒注意舊檔名含數字,如果要利用原數字的話就一定是reg 03/22 19:22
sppmg: exp系列了! 03/22 19:22
sunev: 如果原檔名夠整齊,也是可以用矩陣方法解啦..... 03/23 00:12
Willful1: 關於regexp能否請大家以範例稍加說明呢? 謝謝大家~ 04/20 00:53