根据日期自动区分文件

Automatic discrimination between files according to date

如果我这样声明我的输入文件夹:

inputFolder = 'C:\myFolder\myData'

'myData' 中有以下文件:

Car20150722.xls
Bus20150722.xls
Car20150721.xls
Bus20150721.xls

如何指定 inputFile= MODEyyyymmdd 我可以在其中指定模式是 Car 还是 Bus 但它总是会选择 最新日期.

使用dir获取文件名列表

mode = 'Car';  %// or Bus or whatever

files = dir([mode, '*.xls']);
names = {files.name};

现在提取日期,注意日期始终是从末尾开始 12 个字符的 8 个字符(并在我们处理它时将其转换为日期序列号)

dates = cellfun(@(x)(datenum(x(end-11:end-4),'yyyymmdd')),names);

然后找到最大值的位置:

[~,idx] = max(dates)

最终得到对应的文件名:

filename = names(idx)