Filter löschen
Filter löschen

Change names of multiple pictures inside a file

1 Ansicht (letzte 30 Tage)
lena kappa
lena kappa am 20 Apr. 2021
Kommentiert: lena kappa am 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

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 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

Weitere Antworten (0)

Kategorien

Mehr zu Convert Image Type finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by