如何使用ASP列出目录的10个最新文件

时间:2011-10-08 19:00:46

标签: asp-classic

我有一些asp代码来列出文件夹的内容(仅限txt文件)。我想知道是否有办法只列出最后创建的10个文件。

我的应用程序每天会创建一个文件,使用AAMMDD.txt作为名称。

我希望能够只列出最后10个文件。

这里有没有人可以分享???

提前谢谢。

这里是我发现列出所有内容的代码(我已对脚本进行了一些更改):

<%
Const ImageFilePath = "logs"

Dim objFSO
Dim objFolder
Dim objFile

Dim strFileName
Dim strFileExtension

Dim blnShowFiles

If Request.QueryString("ShowFiles") = "" Then
    blnShowFiles = True
Else
    blnShowFiles = CBool(Request.QueryString("ShowFiles"))
End If


    Set objFSO = Nothing
%>

<style>

ul.dropdownPC, ul.dropdownPC li, ul.dropdownPC ul 
            {
    list-style: none;
    margin: 8px;
    float: left;
    vertical-align: middle;
    padding:0px;
    border:solid;
    border-width:0px;
    border-color:#ccc;
    background-color: #fff;
}
ul.dropdownPC li 
            {
    padding:5px;
    border-width:0px;
}
</style>

<ul class="dropdownPC dropdown-horizontal">
<%
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath(ImageFilePath))

For Each objFile In objFolder.Files
    strFileExtension = LCase(Mid(objFile.Name, InStrRev(objFile.Name, ".", -1, 1) + 1))

    If strFileExtension = "txt" Then
        %>
        <li><a href="<%= ImageFilePath & "/" & objFile.Name %>" target=_blank><img width="80" height="80" border="0" src="images/texticon01.png"><br><center><%= objFile.Name %></center></a>
        <%
        If blnShowFiles Then
            %>
            <!-- <%= objFile.Name %> --></li>
            <%
        Else
            %>
            <!-- <a href="<%=ImageFilePath & "/" & objFile.Name %>">View `Logs</a> --></li>`
            <%
        End If
        %>

        <%
    End If
Next ' objFile

Set objFolder = Nothing
Set objFSO = Nothing
%>

1 个答案:

答案 0 :(得分:3)

你好。将文件名和创建日期放入记录集,对其进行排序并获得前十条记录。

<%
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath(ImageFilePath))

'Required ADO Constants
Const adVarChar = 200
Const adDate = 7
Dim objRs
Set objRS = Server.CreateObject("Adodb.Recordset") 'Recordset for the sort
objRs.Fields.Append "FileName", adVarChar, 255
objRs.Fields.Append "CreateDate", adDate
objRs.Open

For Each objFile In objFolder.Files
    strFileExtension = LCase(Mid(objFile.Name, InStrRev(objFile.Name, ".", -1, 1) + 1))
    If strFileExtension = "txt" Then 'All Text Files Into Recordset
        objRS.AddNew Array("FileName", "CreateDate"), Array(objFile.Name, objFile.DateCreated)
        objRs.Update
    End If
Next ' objFile

objRs.Sort = "CreateDate Desc"
For i = 1 To 10
If objRS.Eof Then Exit For 
%>
        <li><a href="<%= ImageFilePath & "/" & objRS("FileName") %>" target=_blank><img width="80" height="80" border="0" src="images/texticon01.png"><br><center><%= objRS("FileName") %></center></a>
        <% If blnShowFiles Then %>
        <!-- <%= objRS("FileName") %> --></li>
        <% Else %>
        <!-- <a href="<%=ImageFilePath & "/" & objRS("FileName") %>">View `Logs</a> --></li>`
        <% End If %>
<%
objRS.MoveNext
Next
Set objFolder = Nothing
Set objFSO = Nothing
objRS.Close
Set objRS = Nothing
%>