如何根据文本文件的修改日期搜索关键字?

时间:2018-08-12 01:32:48

标签: string search text vbscript datemodified

我有多个每天生成的文本文件。

我想从最新的修改后的文本文件中搜索“ apple”字符串。 如果找不到该字符串,我将需要从昨天的文本文件中搜索。 如果仍然找不到,我将需要从昨天的文本文件的前一天开始搜索。这个过程一直进行到我找到字符串为止。

举个例子:

今天创建的文本文件名为08112018.txt
昨天创建的文本文件名为08102018.txt
前天创建的文本文件名为08192018.txt

我将首先从08112018.txt开始搜索“苹果”。 如果找不到,我将在08102018.txt中搜索“苹果”。 该过程一直持续到找到“苹果”为止。

1 个答案:

答案 0 :(得分:2)

以下是我认为可以为您带来最佳效果的内容:

首先将所有文件列出到断开连接的记录集中:

Set fso = CreateObject("Scripting.FileSystemObject")
Const ForReading = 1  

Set list = CreateObject("ADOR.Recordset")
list.Fields.Append "name", 200, 255
list.Fields.Append "date", 7
list.Open

For Each f In fso.GetFolder("C:\your-folder-location").Files
  list.AddNew
  list("name").Value = f.Path
  list("date").Value = f.DateLastModified
  list.Update
Next

list.MoveFirst

然后您可以按上次修改日期对它们进行排序:

list.Sort = "date DESC"

现在,您可以从列表顶部开始并逐步进行操作。

Dim foundApple

list.MoveFirst
Do Until list.EOF Or foundApple

    Do Until objTextFile.AtEndOfStream
        Set objTextFile = fso.OpenTextFile(list("name"), ForReading)
        strLine = objTextFile.ReadLine()

        If InStr(strLine, "apple") <> 0 then foundApple = True
    Loop

    ' If foundApple = True Then (Do whatever stuff you need)
    list.MoveNext
Loop

list.Close
  • 我刚刚将这段代码转脑了。尚未测试。 YMMV。