如何限制GetFiles以获取在特定日期之后创建的所有路径?

时间:2019-01-15 11:57:45

标签: vb.net

我是VB的初学者,并且正在使用一种快速工具来将数据从excel工作表中提取到SQL Server中。

我可以实际打开/操纵excel文件,但是我想根据创建的日期来限制要处理的文件,但是我正在努力寻找解决方案

因此,为了获得所有路径,我只是使用:

Dim fname As String

For Each file As String In Directory.GetFiles(pathtoscan)
fname = Path.GetFileName(file)

哪种方法都能很好地获取所有内容(随我所愿,将其写入SQL Server表),但是当然上述内容意味着获取每个路径,在此,我想通过仅获取在a之后创建的路径来对其进行“优化”确定的日期。

这是可行的吗,还是仅仅是抓住所有路径后进行过滤,是否意味着没有更好的“性能”?

非常感谢。

1 个答案:

答案 0 :(得分:3)

您可以使用LINQ和File.GetCreationTime:

user_id     created_on          weight  height
2           19-01-01 01:00:00   80      180
2           19-01-02 00:00:00           181
2           19-01-04 04:00:00   81  
2           19-01-07 06:00:00   84      184

也使用Dim relevantFiles = From f In Directory.EnumerateFiles(pathtoscan) Where File.GetCreationTime(f) > yourDate For Each file As String In relevantFiles ' ... ' Next 代替EnumerateFiles。后者返回所有文件的数组,然后再开始过滤它们。前者一个接一个地返回。