我有一个包含114,000个文件的文件夹(不在我的控制范围内),我想只列出最近修改过的100个文件。所以我把来自不同来源的ASP脚本混在一起,但是当我运行它时它会给我一个内部服务器错误。
<%
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
dim fileserver,files,file,i
set fileserver=Server.CreateObject("Scripting.FileSystemObject")
set files=fileserver.GetFolder(Server.MapPath(".")).Files
i = 0
For Each file in SortFiles(files)
Response.write(x.Name & "\t" & x.Size & "\n")
i = i + 1
If i > 100 Then
Exit For
End If
Next
set fo=nothing
set files=nothing
%>
我想要列出的文件只需要用新行分隔它们的名称和大小。我是ASP的新手,所以我不确定如何调试它。
答案 0 :(得分:0)
将代码从aspx移动到aspx.cs(代码隐藏),您可以通过添加断点来调试它,并使用F10 / F11来跳过/步入。我不知道你是否可以调试内联代码,看起来你可以by some SO answer。
乍一看,SortFiles
不会返回文件列表,因此无法在For Each
循环中使用。
For Each file in SortFiles(files) //exception
这是为了什么?
SortFiles = sorted
我不懂VB,但你可以自己调试。