Change names of multiple pictures inside a file
    4 views (last 30 days)
  
       Show older comments
    
    lena kappa
 on 20 Apr 2021
  
    
    
    
    
    Commented: lena kappa
 on 20 Apr 2021
            Hi everyone, I have 25+ pics in a file named 1,2,3...up to lets say 25 and want to change their names to lets say cat1, cat2,...up to cat25
the next code does indeed change the names but not in the corect order because it reads the images in this way 1,10,11 bla bla 2,20 ... so the images get all messed up,how can i change the names in the corect way ?
a ='C:\Users\nas\Desktop\0.3';
A =dir( fullfile(a, '*.jpg') );
fileNames = { A.name };
for iFile = 1 : numel( A )
  newName = fullfile(a, sprintf( '%05d.jpg', iFile ) );
  movefile( fullfile(a, fileNames{ iFile }), newName );    
end
0 Comments
Accepted Answer
  Walter Roberson
      
      
 on 20 Apr 2021
        a ='C:\Users\nas\Desktop\0.3';
A = dir( fullfile(a, '*.jpg') );
fileNames = fullfile({A.folder}, {A.name});
for iFile = 1 : numel(fileNames)
  oldname = fileNames{iFile};
  [fold, basename, ext] = fileparts(oldname);
  newbase = regexprep(basename, '.*?(\d+)$', 'cat$1')
  newName = fullfile(fold, [newbase ext]);
  movefile( oldname, newName );    
end
More Answers (0)
See Also
Categories
				Find more on Image Processing and Computer Vision in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
