我想使用 ASP Classic FSO 按日期对文件进行排序。
我是否需要循环遍历所有文件,将日期放入数组中,然后按日期顺序列出数组,或者是否有更简单的方法单独使用 FSO 来执行此操作?
我创建了一个 VBScript 函数SortFiles:
FileSystemObject的Files集合复制到 VBScript 数组中DateLastModified(注意:这是一种缓慢的排序,您可以使用替代算法改进它)这是我的 VBScript 函数SortFiles:
Function SortFiles(files)
ReDim sorted(files.Count - 1)
Dim file, i, j
i = 0
For Each file in files
Set sorted(i) = file
i = i + 1
Next
For i = 0 to files.Count - 2
For j = i + 1 to files.Count - 1
If sorted(i).DateLastModified < sorted(j).DateLastModified Then
Dim tmp
Set tmp = sorted(i)
Set sorted(i) = sorted(j)
Set sorted(j) = tmp
End If
Next
Next
SortFiles = sorted
End Function
Run Code Online (Sandbox Code Playgroud)
该函数的使用示例SortFiles:
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Dim files
Set files = fso.GetFolder(SOME_PATH).Files
Dim file
For Each file in SortFiles(files)
Rem Do something with file ...
Next
Run Code Online (Sandbox Code Playgroud)