我有200张JPEG图像,编号从1200到1399.如何更改名称从1200.jpg
- 1400.jpg
更改为1.jpg
- 200.jpg
,同时保留原始顺序图像名称?
答案 0 :(得分:4)
这是一个可以在bash或其他shell脚本语言中更有效地解决的问题。也许,它甚至可以通过单个shell find
来解决。
无论如何,matlab也可以做到这一点。
考虑一下。
list = dir('./stack*.png'); % # assuming the file names are like stack1200.jpg
offset = -1200; # % numbering offset amount
for idx = 1:length(list) % # we go through every file name
name = list(idx).name;
number = sscanf(name,'stack%f.png',1); % # we extract the number
movefile(name,['stack' num2str(number + offset) '.png' ]); % # we rename the file.
end
答案 1 :(得分:0)
我发现这个解决方案很简单。
Pathfold= ('Path\to\images\');
dirData = dir('path\to\images\*.jpg');
fileNames = {dirData.name};
for i = 1:size(fileNames)
newName = sprintf('%d.jpg',i);
movefile(fileNames{i},[Pathfold , newName]) %# Rename the file
end