根据日期自动区分文件
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)
如果我这样声明我的输入文件夹:
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)