2011-03-04 95 views
0

我有一个子目录的目录。这些子文件夹也有子文件夹。对于所有文件夹,都存在一个上次修改时间的时间戳。如何检索文件夹层次结构中最后更新的文件夹?

例如:

Folder1中(21.01.2010)
-subfolder1(22.01.2010)
-subfolder2(2010年1月23日)
--subfolder1(2010年1月24日)
--subfolder2 (2010年1月25日)
文件夹2(2010年1月26日)
-subfolder 1(27.01.2010)

我需要的是检查最新的 “修改日期” 的脚本。 所以输出应该是“27.01.2010”。

我不知道如何开始......是否有一个函数可以列出所有文件夹?

也许你可以帮助我...提前谢谢你!

+0

您需要申请递归,请参阅:http://en.wikipedia.org/wiki/Recursion。你能举一些你到目前为止的代码吗? – 2011-03-04 09:52:56

回答

2

获取文件夹列表和修改日期

Sub GetLastModified(folderspec) 
    Dim fs, f, f1, fc, s 
    Set fs = CreateObject("Scripting.FileSystemObject") 
    Set f = fs.GetFolder(folderspec) 
    Set fc = f.SubFolders 
    For Each f1 in fc 
     s = s & f1.Name 
     s = s & f1.DateLastModified 
     s = s & vbCrLf 
    Next 
    MsgBox s 
End Sub 

然后你只需要遍历内找到这些文件夹所有文件夹和保持最新修改日期的记录

1

保持模板:

dim fs, foldercollection ,filecollection, folders, files 

    Set fs=CreateObject("Scripting.FileSystemObject") 
    Set fileobject = fs.GetFolder("c:\") 

    Set foldercollection = fileobject.SubFolders 
    folders = "" 
    files = "" 
    For Each folder in foldercollection 
    folders = folders & folder.name & Chr(13) 
    Next 
    Set foldercollection=nothing 
    Set filecollection = fileobject.Files 
    For Each file in filecollection 
    files = files & file.name & Chr(13) 
    next 

    MsgBox folders & files 
相关问题