如何在文件夹vb.net中找到最旧的文件夹

时间:2011-06-29 23:45:14

标签: vb.net

我正在尝试制作备份文件夹的程序。我想说5个文件夹,然后再次备份我希望删除5个文件夹中最旧的文件夹,并将新文件夹放入其中。

如何找到目录中最旧的文件夹

1 个答案:

答案 0 :(得分:1)

使用System.IO.DirectoryInfo可能会有所帮助。

具体针对CreationTime属性和EnumerateDirectories方法。

以下是使用LINQ:

的EnumerateDirectories方法的修改示例
' Create a DirectoryInfo of the Program Files directory.
Dim dirPrograms As New DirectoryInfo("c:\program files")

' LINQ query for oldest directory
Dim dir = (From dir In dirPrograms.EnumerateDirectories()).Min(function (o) o.CreationTime).FirstOrDefault()

If Not IsNothing(dir) Then
' perform rest of function
End If

这是一个非LINQ版本,用于获取文件夹中最旧的目录:

    Dim di As New DirectoryInfo("C:\program files")
    Dim dirs() as DirectoryInfo = di.GetDirectories()
    Dim creationTime as DateTime = DateTime.Now
    Dim oldestDir As DirectoryInfo

    For Each dir As DirectoryInfo In dirs
        If DateTime.Compare(dir.CreationTime(), creationTime) < 0 Then
            oldestDir = dir
            creationTime = dir.CreationTime()
        End If
    Next