如何把一个文件夹里的文件分别按创建时间排序获取出来?

stewen 2003-09-15 07:48:10
如何把一个文件夹里的文件分别按创建时间排序获取出来?
...全文
951 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
northwolves 2003-09-16
  • 打赏
  • 举报
回复
用FILEBOX取出文件及其创建时间,置于LISTVIEW中,单击标题栏可按文件名或创建时间进行升序或降序排列:
Dim fso As New FileSystemObject

Private Sub Command1_Click()
addlistview
End Sub

Private Sub Form_Load()
File1.Visible = False
File1.Path = "c:\windows\system"
ListView1.View = lvwReport
ListView1.Sorted = True
End Sub
Sub addlistview()
Dim mitem As ListItem
ListView1.ColumnHeaders.Add , , "filename", 2000
ListView1.ColumnHeaders.Add , , "datecreated", 3000
On Error Resume Next
Dim myfile As File
For i = 0 To File1.ListCount - 1
Set myfile = fso.GetFile(File1.Path & "\" & File1.List(i))
'allfile.Add CStr(myfile.DateCreated)
Set mitem = ListView1.ListItems.Add()
mitem.Text = File1.List(i)
mitem.SubItems(1) = myfile.DateCreated
Next
End Sub
Private Sub listview1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
Dim lngCnt As Long
On Error GoTo listview1_ColumnClickErr
ListView1.SortKey = ColumnHeader.Index - 1
lngCnt = ColumnHeader.Index - 1
If ListView1.SortOrder = lvwDescending Then
ListView1.SortOrder = lvwAscending
Else
ListView1.SortOrder = lvwDescending
End If
ListView1.Sorted = True
Exit_Proc:
Exit Sub
listview1_ColumnClickErr:
Resume Exit_Proc
End Sub
射天狼 2003-09-16
  • 打赏
  • 举报
回复
可以用FileDateTime函数取出时间来,然后加到LISTVIEW中,然后再对LISTVIEW进行排序!!
lxcc 2003-09-16
  • 打赏
  • 举报
回复
FileDateTime
stewen 2003-09-16
  • 打赏
  • 举报
回复
能不能不用FileSystemObject对象,因为很多杀病毒的程序把它检测为病毒
stewen 2003-09-16
  • 打赏
  • 举报
回复
up
flc 2003-09-16
  • 打赏
  • 举报
回复
xue学习
rainstormmaster 2003-09-16
  • 打赏
  • 举报
回复
如何把一个文件夹里的文件分别按创建时间排序获取出来?
先像这样把文件夹下的文件取出来:
On Error Resume Next
Dim fso As New FileSystemObject
Dim mfolder As Folder
Dim mfile() As File
Dim tempfile As File
Set mfolder = fso.GetFolder("c:\mc")
Dim i As Long
i = 0
For Each tempfile In mfolder.Files
ReDim Preserve mfile(i)
Set mfile(i) = tempfile
i = i + 1
Next
然后,通过比较mfile(i).DateCreated进行排序,这个应该不成问题吧
chao778899 2003-09-15
  • 打赏
  • 举报
回复
Private Sub Command2_Click()
Dim file1 As File
Dim file2 As File
Dim file3 As File
Dim fs As FileSystemObject
Dim file11 As FILETIME
Dim file22 As FILETIME
Dim file33 As FILETIME
Dim rt As Long
Dim rt1 As Long

Set fs = CreateObject("scripting.filesystemobject")
Set file1 = fs.GetFile("e:\11.txt")
Set file2 = fs.GetFile("e:\22.txt")
Set file3 = fs.GetFile("e:\33.txt")
file11.dwHighDateTime = file1.DateCreated
file22.dwHighDateTime = file2.DateCreated
file33.dwHighDateTime = file3.DateCreated
file11.dwLowDateTime = file1.DateLastModified
rt = CompareFileTime(file11, file22)
rt1 = CompareFileTime(file33, file22)
'按日期比较两者是相等的。
End Sub
zzlingaaa 2003-09-15
  • 打赏
  • 举报
回复
文件系统对象的DateCreated属性可以返回文件的创建时间,至于排序,要看你怎样显示这些文件的列表.
踏平扶桑 2003-09-15
  • 打赏
  • 举报
回复
得到时间然后排序
jlum99 2003-09-15
  • 打赏
  • 举报
回复
先得到文件时间,在拿来排序啊.

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧