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

解决方案 »

  1.   

    文件系统对象的DateCreated属性可以返回文件的创建时间,至于排序,要看你怎样显示这些文件的列表.
      

  2.   

    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 LongSet 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
      

  3.   

    如何把一个文件夹里的文件分别按创建时间排序获取出来?
    先像这样把文件夹下的文件取出来:
    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进行排序,这个应该不成问题吧
      

  4.   

    能不能不用FileSystemObject对象,因为很多杀病毒的程序把它检测为病毒
      

  5.   

    可以用FileDateTime函数取出时间来,然后加到LISTVIEW中,然后再对LISTVIEW进行排序!!
      

  6.   

    用FILEBOX取出文件及其创建时间,置于LISTVIEW中,单击标题栏可按文件名或创建时间进行升序或降序排列:
    Dim fso As New FileSystemObjectPrivate Sub Command1_Click()
    addlistview
    End SubPrivate 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