- 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 ビュー (過去 30 日間)
古いコメントを表示
for example, when I run program for the first time i want to save it as ' text1.mat' second time 'text2.mat' etc...
0 件のコメント
採用された回答
Jan
2017 年 11 月 28 日
編集済み: Jan
2017 年 11 月 28 日
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 件のコメント
Walter Roberson
2017 年 11 月 28 日
NameList = natsort({FileList.name});
LastIndex = sscanf(NameList{end}, 'test_%damp.mat'));
NewFile = fullfile(Folder, sprintf('test_%damp.mat', LastIndex + 1));
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Startup and Shutdown についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!