ASP 按修改时间读取文件夹中文件并且排序

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

转载于:https://www.cnblogs.com/cosiray/archive/2009/08/22/1551872.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值