【发布时间】:2014-03-21 22:05:53
【问题描述】:
我想使用 ASP Classic FSO 按日期对文件进行排序。
我是否需要遍历所有文件,将日期放入数组中,然后按日期顺序列出数组,或者是否有更简单的方法来单独使用 FSO?
谢谢,
迈克
【问题讨论】:
标签: asp-classic
我想使用 ASP Classic FSO 按日期对文件进行排序。
我是否需要遍历所有文件,将日期放入数组中,然后按日期顺序列出数组,或者是否有更简单的方法来单独使用 FSO?
谢谢,
迈克
【问题讨论】:
标签: asp-classic
此函数使用 ADO Recordset 对文件进行排序:
http://www.roubaixinteractive.com/PlayGround/FSO/Sort_Folder_Contents.asp
【讨论】:
我创建了一个 VBScript 函数SortFiles:
FileSystemObject 的 Files 集合复制到 VBScript 数组中DateLastModified 对 VBScript 数组进行冒泡排序(注意:这是一种慢速排序,您可以使用其他算法对其进行改进)这是我的 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
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
【讨论】: