Renaming group of files
1 次查看(过去 30 天)
显示 更早的评论
I have group of images 500, and there are named from Image1, Image2, ... Image500.I Want to rename them to Box_1_Image1, Box_2_Image2,...Box_500_Image500.I Also want to keep the same sequence as of original folder and put renamed images in same folder.
3 个评论
Stephen23
2024-2-9
编辑:Stephen23
2024-2-9
" but the output is not accurate, Its like Box_1_Image1, Box_2_Image10, Box_45_Image5,Box_46_Image50. Any many others are also wrong..."
To fix that you could download and use my function NATSORTFILES:
"I Also want to keep the same sequence as of original folder"
Files in a folder do not really have a well-defined sequence. They might appear in character-code order, but that is not guaranteed by any file management system that I am aware of. The order that they are displayed in is purely an artifact of the application displaying them, e.g. Windows Explorer.
回答(1 个)
Stephen23
2024-2-9
编辑:Stephen23
2024-2-9
P = '.'; % absolute or relative path to where the files are saved.
F = 'image*.bmp'; % filename with wildcard and file extension
S = dir(fullfile(P,F));
for k = 1:numel(S)
tmp = regexprep(S(k).name,'^\D+(\d+)(.+)$','Box_$1_Image$1$2');
new = fullfile(S(k).folder,tmp);
old = fullfile(S(k).folder,S(k).name);
movefile(old,new)
end
Note how it gets the numbers matched correctly (the order here is due to DIR, is not relevant):
dir *.bmp
If you want to sort filenames into alphanumeric order then you can use my function NATSORTFILES:
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 File Operations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!