可以列出目录中的文件,但想要列出所有目录中的文件

3
我有一个脚本,可以显示脚本所在目录中的所有文件,但我将有一个包含多个文件夹和每个文件夹中文档的目录。
我想象一下一个网页,动态列出所有文件夹的名称,然后当你点击它时,它会显示链接的文件列表。
我想这样做,因为这个目录将添加额外的文件夹和文件。
这是我拥有的脚本,如果我将其放在每个文件夹中,它就可以工作,所以它不完全是动态的。
<h3>Resources/Documents</h3>
<ul>
    <%
        Set MyDirectory=Server.CreateObject("Scripting.FileSystemObject")
        Set MyFiles=MyDirectory.GetFolder(Server.MapPath("documents/standard_14"))
        For each filefound in MyFiles.files
    %>
    <li>
    <a href="documents/standard_14/<% =filefound.Name %>" target="blank"><% =filefound.Name %></a>
    </li>

    <% Next %>
</ul>

我对ASP一点也不熟悉 - 非常感谢您的帮助。

1个回答

9
<% ListFolderContents(Server.MapPath("/path/to/main/folder")) %>
<% sub ListFolderContents(path)

     dim fs, folder, file, item, url

     set fs = CreateObject("Scripting.FileSystemObject")
     set folder = fs.GetFolder(path)

    'Display the target folder and info.

     Response.Write("<h2>"& folder.Name &"</h2>")

     'Display a list of sub folders.

     for each item in folder.SubFolders
                ListFolderContents(item.Path)
     next

     'Display a list of files.
Response.Write("<ul>")
    for each item in folder.Files
       url = MapURL(item.path)
        Response.Write("<li><a href=""" & url & """>" & item.Name & "</a></li>")
    next
        Response.Write("</ul>")
   end sub


   function MapURL(path)

     dim rootPath, url

     'Convert a physical file path to a URL for hypertext links.

     rootPath = Server.MapPath("/")
     url = Right(path, Len(path) - Len(rootPath))
     MapURL = Replace(url, "\", "/")

end function %>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接