Code to rename fiiles

I am looking to rename files that are titled "Untitled.0001.jpg" to 1,2,3...,n.jpg
I have a bunch of files that get spit out from a program in that format, but just want to name them by a number. How would I go about doing that?

Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 10 Aug 2016
Edited: Azzi Abdelmalek on 10 Aug 2016
f='Untitled.0001.jpg'
nf=regexprep(f,'(\S+\.)(\d+)(\.jpg)','${num2str(str2num($2))}$3')
Or
f='Untitled4.0201.jpg'
nf=regexp(f,'[1-9]\d+\>.jpg','match','once')
To rename the file
folder='C:\Users\you\Documents\MATLAB' % folder where your jpg are located
filetype=fullfile(folder,'*.jpg')
file=dir(filetype)
filename={file.name}
for k=1:numel(file)
f=filename{k}
nf=regexp(f,'[1-9]\d+\>.jpg','match','once')
move(fullfile(folder,f),fullfile(folder,nf))
end

3 Comments

Use movefile() rather than move().
movefile('source','destination')
When source and destination have the same location, movefile renames source to destination.
This is my first time ever using MATLAB... So I input the code as a script and set the directory to the NameChange folder... What do I have to do to get this to run?
Completely unrelated, do you have any sights or anything to help learn MATLAB? I need it for school and really want to get proficient in it.
To run, type the F5 key or click the green Run triangle on the tool ribbon.

Sign in to comment.

Categories

Asked:

on 10 Aug 2016

Commented:

on 11 Aug 2016

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!