我需要按“上次修改日期”的降序遍历给定文件夹中的文件。
在循环的第一次迭代中,我需要能够打开最近修改的文件以进行读取并关闭它。在第二次迭代中,我需要能够打开第二个最近更新的文件以进行读取和关闭等。
是否有允许
FileSystemObject
对文件进行排序的内置方法,或者我们是否必须编写自定义排序例程?如果我们必须使用自定义排序例程,是否可以在没有多个函数的情况下编写它?即主函数中的所有代码。
速度是一个问题,因为要整理很多文件。因此,任何自定义程序都应该是有效的。
我需要按“上次修改日期”的降序遍历给定文件夹中的文件。
在循环的第一次迭代中,我需要能够打开最近修改的文件以进行读取并关闭它。在第二次迭代中,我需要能够打开第二个最近更新的文件以进行读取和关闭等。
是否有允许FileSystemObject
对文件进行排序的内置方法,或者我们是否必须编写自定义排序例程?
如果我们必须使用自定义排序例程,是否可以在没有多个函数的情况下编写它?即主函数中的所有代码。
速度是一个问题,因为要整理很多文件。因此,任何自定义程序都应该是有效的。
您可以将文件名和日期读入断开连接的记录集中并按日期对其进行排序:
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