我正在尝试制作备份文件夹的程序。我想说5个文件夹,然后再次备份我希望删除5个文件夹中最旧的文件夹,并将新文件夹放入其中。
如何找到目录中最旧的文件夹
答案 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