MATLAB Answers

Renaming files in a folder

43 views (last 30 days)
A
A on 4 Jun 2012
Commented: Ade Aulya on 11 Dec 2018
Hello,
I'm written the following code to rename files in a folder. However, for whatever reason it is not working. Any idea where I've gone wrong?
I assume the program is self-explanatory, but let me know if you need any clarifications on the task.
function renameFiles
path=('D:\Documents and Settings\Administrator\Desktop\Data 31052012\75mj\all times\');
files=dir(path)
prefix=('75mJ');
time=0;
for id=3:24;
newName=([prefix num2str(time) 'ns'])
movefile(files(id).name, sprintf('%s.bmp',newName));
time=time+2;
end
Thanks!
  3 Comments
A
A on 4 Jun 2012
Error is:
Error using movefile
No matching files were found.
Error in renameFiles (line 10)

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 4 Jun 2012
The directory name is not included in the .name field returned by dir(). You need to add it back on.
movefile( fullfile(path, files(id).name), fullfile(path, sprintf('%s.bmp',newName)) );
  9 Comments
Ade Aulya
Ade Aulya on 11 Dec 2018
hi.. Mr.Walter Roberson, i was using the code like this and it also were run but i didn't get the name files as i want. if i wanted to change those file's number output into ONLY 1,2,3,4,5,and so on.. what should i do, please ? FYI, i tried to change the folder name like this..
% Get all files in the current folder clear all;
files = dir(fullfile('C:\Users\ASUS\Desktop\2', '*.tif'));
% Loop through each
for id = 1:length(files)
% Get the file name (minus the extension)
[~, f] = fileparts(files(id).name);
% Convert to number
num = str2double(f);
if ~isnan(num)
% If numeric, rename
APath = fullfile('C:\Users\ASUS\Desktop\2', files(id).name);
movefile(APath, sprintf('%d.tif', num));
end
end
and the output files name were like this :
2.100000e+00.tif
2.100100e+00.tif
2.100200e+00.tif
2.100300e+00.tif
2.100400e+00.tif
2.100500e+00.tif
etc..
or if i want to change the output only like
1a
2a
3a
5b
6b
7b
etc..
could you please give me an idea, pease ?
thank you so much :)

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by