【问题标题】:Sort FileSystemObject by date按日期对 FileSystemObject 进行排序
【发布时间】:2014-03-21 22:05:53
【问题描述】:

我想使用 ASP Classic FSO 按日期对文件进行排序。

我是否需要遍历所有文件,将日期放入数组中,然后按日期顺序列出数组,或者是否有更简单的方法来单独使用 FSO?

谢谢,

迈克

【问题讨论】:

    标签: asp-classic


    【解决方案1】:

    此函数使用 ADO Recordset 对文件进行排序:

    http://www.roubaixinteractive.com/PlayGround/FSO/Sort_Folder_Contents.asp

    【讨论】:

    • 完美,感谢一百万肖恩。这比我做的方式更巧妙。
    【解决方案2】:

    我创建了一个 VBScript 函数SortFiles

    1. FileSystemObjectFiles 集合复制到 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
    

    【讨论】:

      猜你喜欢
      • 2020-10-30
      • 2015-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-03
      • 2014-07-06
      • 1970-01-01
      相关资源
      最近更新 更多