根据日期自动区分文件

时间:2015-08-05 09:21:30

标签: matlab file validation input automated-tests

如果我以这种方式说明我的输入文件夹:

inputFolder = 'C:\myFolder\myData'

并且在'myData'内有以下文件:

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

如何指定inputFile= MODEyyyymmdd我可以指定MODE是Car还是Bus,但它始终会选择最新日期的文件。

1 个答案:

答案 0 :(得分:2)

使用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);

然后找到max的位置:

[~,idx] = max(dates)

最后得到相应的文件名:

filename = names(idx)