楼主:
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能否请大家以范例稍加说明呢? 谢谢大家~