2011-07-07 27 views
2

我想按日期使用ASP Classic FSO對文件進行排序。按日期排序FileSystemObject

我是否需要循環遍歷所有文件,將日期放入數組中,然後按日期順序列出數組,或者有更簡單的方法使用FSO單獨執行此操作?

感謝,

邁克

回答

4

我創建了一個VBScript函數SortFiles其中:

  1. 副本FileSystemObject「 s Files收集到VBScript數組
  2. 冒泡排序通過降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 
+0

這適用於我。謝謝。 – James