我有一个目录里面有很多没有按任何顺序命名的文件。所以当我使用dir函数时,得到的文件是混乱无序的。但是我希望按照datenum的顺序读取这些文件。是否有dir或其他函数可以实现这个任务。
datenum
将date
字段转换。假设你已经有了datenum
,它是由dir
返回的结构中的一个字段,即如果你使用files = dir()
,那么files.datenum
就是被转换为双精度格式的日期。所以要按日期使用它们,你只需要:[~,idx] = sort([files.datenum]);
然后,idx
包含从最老的 files(idx(1))
到最新的 files(idx(end))
的值。如果你想先编辑最新的文件,请在 sort()
中使用 'descend'
选项。
以下是一种解决方法:
files=dir;
valid_file_names= find(~[files.isdir]);
file_date=[files.datenum];
[~, ix]=sort(file_date)
ix=ix(ismember(ix,valid_file_names)); keep index of file names only
% load...
for n=1:numel(ix)
c{n}=your_loading_function(files(ix(n)).name);
end
list = dir('c:\*.*');
[r inx]=sort({list.date});
list = list(inx);
dir
输出的所有files.name
。 - bla