I am trying to get a way to list all the files in a directory via datewise in descending order(Example 40 files) i.e most recent created 40 files only. I have searched throughout the internet, but cannot get a right way to do this. Here is what i tried
Code:
Dim files() As String = System.IO.Directory.GetFiles(Dir)
Dim fileComparer As IComparer = New CompareFileByDate()
Array.Sort(files, fileComparer)
Array.Reverse(files)
For Each f As String In files
d.BeginInvoke(f, Dir.Replace(scandir, ""), Nothing, Nothing)
Next
Public Class CompareFileByDate
Implements IComparer
Public Function Compare(ByVal a As Object, ByVal b As Object) As Integer Implements System.Collections.IComparer.Compare
Dim fia As FileInfo = New FileInfo(a.ToString)
Dim fib As FileInfo = New FileInfo(b.ToString)
Dim cta As DateTime = fia.LastWriteTime
Dim ctb As DateTime = fib.LastWriteTime
Return DateTime.Compare(cta, ctb)
End Function
End Class
Above code didnt worked.
Second i tried this one also
Code:
Dim files() As IO.FileInfo = New IO.DirectoryInfo(Dir).GetFiles("*.txt").OrderByDescending(Function(fi) fi.LastWriteTime).ToArray
Didnt worked as well.
How can i acheive the target ?
Thanks