作者:
Willful1 (自強不息!!)
2020-03-17 02:40:01如題,請教大家關於以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
請教大家更合適的寫法,能將上述程式修改得更理想一些,謝謝大家~!
新檔名=strcat(num2str(i,'%04i-'),舊檔名,'.txt')
作者:
Willful1 (自強不息!!)
2020-03-17 20:15:00謝謝book大回覆
作者:
sppmg (sppmg)
2020-03-18 22:49:00regexprep 搭配 () 和 $1,$2 ...
作者:
Willful1 (自強不息!!)
2020-03-19 02:34:00謝謝s大回覆
作者:
sppmg (sppmg)
2020-03-20 01:42:00原po要求的文字處理不複雜,1F方法可能比較簡潔。
可是他後面有跟數字 現在他是要讀到那個數字再加到檔名前面 不然哪知道前面數字要加什麼還是檔名本來就有按照字母數字順序?
作者:
sppmg (sppmg)
2020-03-22 19:22:00哦!沒注意舊檔名含數字,如果要利用原數字的話就一定是regexp系列了!
作者:
sunev (Veritas)
2020-03-23 00:12:00如果原檔名夠整齊,也是可以用矩陣方法解啦.....
作者:
Willful1 (自強不息!!)
2020-04-20 00:53:00關於regexp能否請大家以範例稍加說明呢? 謝謝大家~