Rename many images using loop function and movefile function

Greeting. Sorry for my ignorance in computer science. I am new in digital image processing. I face problems in rename-ing 20 images. Here is my code:
a ='C:\Users\Ace\Desktop\rename\';
A =dir( strcat (a, '*.bmp' ));
fileNames = { A.name };
for iFile = 1 : numel( A )
newName = sprintf( '%05d.bmp', iFile );
movefile( fileNames{ iFile }, newName );
end
Error message came out: " ??? Error using ==> movefile No matching files were found. "
And I notice the "movefile( fileNames{ iFile }, newName ); " does not run.
Any expert can offer me guidance how to rename file using movefile function? Or I have missed a step or made syntax error?
Thanks.

 Accepted Answer

The name field returned by dir() does not include the directory.
a ='C:\Users\Ace\Desktop\rename\';
A =dir( fullfile(a, '*.bmp') );
fileNames = { A.name };
for iFile = 1 : numel( A )
newName = fullfile(a, sprintf( '%05d.bmp', iFile ) );
movefile( fullfile(a, fileNames{ iFile }), newName );
end

7 Comments

Hey my friend. It works like a charm! Thanks a lot! Greatly appreciate it!
great answer walter, thanks
Excellent !!! Good contribution.
Awesome! Thanks for sharing this. :-)
I used this order but I found a problem, my files do not rename in an order. It means that they mixed up. what should I do to make them in the same order that they hade before rename.
Walter Roberson : working but not happening in original order. Please check

Sign in to comment.

More Answers (0)

Categories

Asked:

on 21 May 2011

Commented:

on 6 Jul 2022

Community Treasure Hunt

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

Start Hunting!