[ASP技巧] 巧给FSO文件夹列表内容排序

本文介绍了如何在ASP中以最小代价实现文件夹列表的排序,避免了自写复杂算法的繁琐过程,同时批评了百度搜索的相关结果质量。
摘要由CSDN通过智能技术生成

自己写排序算法十分繁琐,而且不够灵活,百度搜索“ASP 文件夹排序”搜到的结果可以100%视为垃圾。本文推荐一种最小代价的做法。

<%

'定义获取排序文件列表的函数
Function getSortedFiles(folderPath)
    Dim rs, fso, folder, File
    Const adInteger = 3
    Const adDate = 7
    Const adVarChar = 200
    Set rs = Server.CreateObject("ADODB.Recordset")
    Set fso = Server.CreateObject("Scripting.FileSystemObject")
    Set folder = fso.GetFolder(folderPath)
    Set fso = Nothing
    With rs.Fields
        .Append "Name", adVarChar, 200
        .Append "Type", adVarChar, 200
        .Append "DateCreated", adDate
        .Append "DateLastAccessed", adDate
        .Append "DateLastModified", adDate
        .Append "Size", adInteger
        .Append "TotalFileCount", adInteger
    End With
    rs.Open
    For Each File In folder.Files
        rs.AddNew
        rs("Name") = File.Name
        rs("Type") = File.Type
        rs("DateCreated") = File.DateCreated
        rs("DateLastAccessed") = File.DateLastAccessed
        rs("DateLastModified") = File.DateLastModified
        rs("Size") = File.Size
        rs.Update
    Next
    '设置排序规则:按名称排序
    rs.Sort = "Name ASC"
    ''设置排序规则:依次按文件大小倒序,按修改日期倒序
    'rs.Sort = "Size DESC, DateLastModified DESC"
    rs.MoveFirst
    Set folder = Nothing
    Set getSortedFiles = rs
End Function

'调用函数并输出结果集
Dim rs
Set rs = getSortedFiles( Server.MapPath("/") )
While Not rs.EOF
    Response.Write "<p>" & rs("Name") & " | " & rs("Type") & "</p>"
    rs.MoveNext
Wend
rs.Close
Set rs = Nothing

%>
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值