How to rename several several .mat in a file with rename
44 views (last 30 days)
Show older comments
Solene Frileux
on 13 Sep 2018
Commented: Titus Edelhofer
on 14 Sep 2018
Hello,
I Have a question about the same subject.
I have several files: FoodS01HealthSession1.mat FoodS01PracticeSession1.mat FoodS01TasteSession1.mat FoodS01TestSession1.mat
That go from S01 to S021 and I would like to all rename them as following FoodSub110HealthSession1.mat FoodSub110PracticeSession1.mat FoodSub110TasteSession1.mat FoodSub110TestSession1.mat
from 110 to 130
I cannot manage doing it using the function rename, as I donnnot know how to correctly code the loop nor using the function.
Could anyone help me?
Thanks a lot
0 Comments
Accepted Answer
Titus Edelhofer
on 13 Sep 2018
Edited: Titus Edelhofer
on 13 Sep 2018
Hi Solene,
this should work
names = {'Health', 'Practice', 'Taste', 'Test'};
for iName = 1:numel(names)
for iFile=1:21
origName = sprintf('FoodS0%d%sSession1.mat', iFile, names{iName});
newName = sprintf('Food%d%sSession1.mat', iFile+109, names{iName});
movefile(origName, newName);
end
end
untested but should be more or less it. Edit: make the %d without leading zero and added the leading zero for all files.
Hope this helps,
Titus
3 Comments
More Answers (1)
Solene Frileux
on 13 Sep 2018
2 Comments
Titus Edelhofer
on 13 Sep 2018
I see it now: I thought it's 01, 02, ..., 09, 10, 11, but it is 01, 02, ..., 010, 011. I'll edit the answer.
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!