2011-06-29 152 views

回答

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 
+0

@ash基本上,我的文件夹将在对方几小时内创建。有没有什么办法可以说,'directory.lastmodifieddate.oldest删除' – Kuzon

+0

@Kuzon我添加了一个非LINQ版本。据我所知,这是获取目录中最旧目录的最佳方式。 –

+0

@Ash谢谢,我对Vb还是比较新的,我该如何解决我在这行上得到的错误'creationTime = f.CreationTime()'错误'f'没有声明。由于其保护级别,它可能无法访问......我是否将其声明为一个字符串? – Kuzon

相关问题