asp fso读取文件夹,如何按照时间排序

读取一个文件夹或子文件夹内的所有文件范例<br><br> 
<% 
Dim objFSO,objFolder,objFile,FF '声明 objFSO 变量存放对象实例 
FF = Server.MapPath("./images") 
Set objFSO = Server.CreateObject("Scripting.FileSystemObject") 
If objFSO.FolderExists(ff) Then 
Response.write "文件夹 "&ff&" 里所有的文件:<br>" 
Set objFolder = objFSO.GetFolder(ff) 
For Each objFile in objFolder.Files 
Response.Write objFile.Name & "<br>" 
Next 
Else 
Response.Write "文件夹"&ff&"不存在,无法读取相关信息!" 
End If 
Set objFolder = Nothing 
Set objFSO = Nothing '释放 FileSystemObject 对象实例内存空间 
%> 
</body></html> 


但是怎么排序呢??


Private Type typFlieDate 
Name As String 
CreatedDate As Date 
AccessedDate As Date 
ModifiedDate As Date 
End Type 

Private myFiles() As typFlieDate '包含文件的数组 

Private Sub Command1_Click() 
Dim n As Integer 
n = GetFolderFiles("d:\", 1) 
End Sub 

Private Function GetFolderFiles(Path As String, OrderBy As Integer) As Integer 
'path 文件夹路径 
'orderby 排序依据 1:按创建时间 2:按访问时间 3:按修改时间 4:按名称 
'返回文件夹中文件的个数 
'如果要计算子文件夹可以通过 fldr.SubFolders 访问,方法类似 

Dim tmpFile As typFlieDate 
Dim n As Integer, i As Integer, j As Integer 
Dim fso As New FileSystemObject 
Dim fldr As Folder 
Dim fls As Files 
Dim fl As File 

'读去文件 
Set fso = CreateObject("Scripting.FileSystemObject") 
Set fldr = fso.GetFolder(Path) 
Set fls = fldr.Files 
n = fls.Count 
If n > 0 Then 
ReDim myFiles(n - 1) 
i = 0 
For Each fl In fls 
myFiles(i).Name = fl.Name 
myFiles(i).AccessedDate = fl.DateLastAccessed 
myFiles(i).CreatedDate = fl.DateCreated 
myFiles(i).ModifiedDate = fl.DateLastModified 
i = i + 1 
Next 
'排序 --- 升序 
For i = 0 To n - 1 
For j = i + 1 To n - 1 
Select Case OrderBy 
Case 1 '创建时间 
If myFiles(i).CreatedDate > myFiles(j).CreatedDate Then 
tmpFile = myFiles(i) 
myFiles(i) = myFiles(j) 
myFiles(j) = tmpFile 

' tmpFile.Name = myFiles(i).Name 
' tmpFile.AccessedDate = myFiles(i).AccessedDate 
' tmpFile.CreatedDate = myFiles(i).CreatedDate 
' tmpFile.ModifiedDate = myFiles(i).ModifiedDate 
' 
' myFiles(i).AccessedDate = myFiles(j).AccessedDate 
' myFiles(i).CreatedDate = myFiles(j).CreatedDate 
' myFiles(i).ModifiedDate = myFiles(j).ModifiedDate 
' myFiles(i).Name = myFiles(j).Name 
' 
' myFiles(j).AccessedDate = tmpFile.AccessedDate 
' myFiles(j).CreatedDate = tmpFile.CreatedDate 
' myFiles(j).ModifiedDate = tmpFile.ModifiedDate 
' myFiles(j).Name = tmpFile.Name 
End If 

Case 2 '访问时间 
If myFiles(i).AccessedDate > myFiles(j).AccessedDate Then 
tmpFile = myFiles(i) 
myFiles(i) = myFiles(j) 
myFiles(j) = tmpFile 
End If 
Case 3 '修改时间 
If myFiles(i).ModifiedDate > myFiles(j).ModifiedDate Then 
tmpFile = myFiles(i) 
myFiles(i) = myFiles(j) 
myFiles(j) = tmpFile 
End If 
Case 4 '名称 
If UCase(myFiles(i).Name) > UCase(myFiles(j).Name) Then 
tmpFile = myFiles(i) 
myFiles(i) = myFiles(j) 
myFiles(j) = tmpFile 
End If 
End Select 
Next j 
Next i 
End If 
GetFolderFiles = n 
End Function


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值