loops - 基于 'Last Modified Date' 遍历文件夹中的所有文件

标签 loops vbscript last-modified filesystemobject

我需要按“上次修改日期”的降序遍历给定文件夹中的文件。

在循环的第一次迭代中,我需要能够打开最近修改的文件以进行读取并关闭它。在第二次迭代中,我需要能够打开第二个最近更新的文件以进行读取和关闭等。

  • 是否有内置方法允许 FileSystemObject对文件进行排序还是我们绝对必须编写自定义排序例程?
  • 如果我们必须使用自定义排序例程,是否可以在没有多个函数的情况下编写它?即主函数中的所有代码。
  • 速度是一个问题,因为有很多文件需要整理。因此,任何自定义程序都应该是有效的。
  • 最佳答案

    您可以将文件名和日期读入断开连接的 recordset并按日期排序:

    Set fso = CreateObject("Scripting.FileSystemObject")
    
    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:\some\where").Files
      list.AddNew
      list("name").Value = f.Path
      list("date").Value = f.DateLastModified
      list.Update
    Next
    
    list.MoveFirst
    Do Until list.EOF
      WScript.Echo list("date").Value & vbTab & list("name").Value
      list.MoveNext
    Loop
    
    list.Sort = "date DESC"
    
    list.MoveFirst
    Do Until list.EOF
      WScript.Echo list("date").Value & vbTab & list("name").Value
      list.MoveNext
    Loop
    
    list.Close
    

    关于loops - 基于 'Last Modified Date' 遍历文件夹中的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16288555/

    相关文章:

    r - R 中的棘手循环?

    windows - 如何使用没有管理员权限的 vbs 将任务设置为在登录时以当前用户身份运行?

    perl - 是否有类似 Perl 的 Win32::FileNotify 用于 Linux 或 OS X 的东西?

    ruby-on-rails - Rspec:测试循环数组,输入 = [],自定义类的输出 =[]。 ruby

    javascript - Push 在 if 语句中不起作用

    python - 比较 Python 中的后续字符串

    html - .BMP 文件可以存储在 HTA (HTML/VBScript) 中吗?

    vbscript - 有没有一种方法可以在 VBS 中执行非阻塞 IO,或者有一种方法可以在没有 COM 事件的情况下发出信号?

    file - 重命名和重新创建文件时出现奇怪的时间戳重复

    Java - 尝试显示文件夹中文件的上次修改日期