- https://de.mathworks.com/matlabcentral/fileexchange/10959-sort-nat--natural-order-sort
- https://www.mathworks.com/matlabcentral/fileexchange/34464-customizable-natural-order-sort
I want to save a mat. file each time the program runs with a different name.
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
arvind ramasamy
le 28 Nov 2017
Commenté : Walter Roberson
le 28 Nov 2017
for example, when I run program for the first time i want to save it as ' text1.mat' second time 'text2.mat' etc...
0 commentaires
Réponse acceptée
Jan
le 28 Nov 2017
Modifié(e) : Jan
le 28 Nov 2017
Folder = tempdir; % Define accordingly
FileList = dir(fullfile(Folder, 'text*.mat'));
NewFile = fullfile(Folder, sprintf('text%d.mat', numel(FileList) + 1));
This fails, if you delete some of the files afterwards. Then this helps:
NameList = natsort({FileList.name});
LastIndex = sscanf(NameList{end}, 'text%d.mat'));
NewFile = fullfile(Folder, sprintf('text%d.mat', LastIndex + 1));
Or prefer:
nowStr = datestr(now, 'yyyy-mm-dd_HHMMSS');
NewFile = fullfile(Folder, ['text', nowStr, '.mat']);
But remember that this fails, if you create more than 1 file per second or during the change of the daylight-saving-time.
2 commentaires
Walter Roberson
le 28 Nov 2017
NameList = natsort({FileList.name});
LastIndex = sscanf(NameList{end}, 'test_%damp.mat'));
NewFile = fullfile(Folder, sprintf('test_%damp.mat', LastIndex + 1));
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Startup and Shutdown dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!