VB.NET如何遍历目录列表?

19

如何循环遍历文件夹,获取每个文件的日期和时间?


为什么这个问题没有展示代码或研究努力,却有赞成票? - davidsbro
6
我的猜测是,有时候问题的实用性以及它所产生的答案比遵循指南更为重要。虽然我没有点赞,但写作时观看次数已经达到24,288次,有些人点赞也就不足为奇了。 - Alan K
3个回答

46
使用DirectoryInfo.GetFiles()从FileInfo类中提取数据(名称,创建时间等)。
我已经将MSDN页面上的一些代码粘贴在这里
Imports System
Imports System.IO
Public Class GetFilesTest
    Public Shared Sub Main()
        ' Make a reference to a directory.
        Dim di As New DirectoryInfo("c:\")
        ' Get a reference to each file in that directory.
        Dim fiArr As FileInfo() = di.GetFiles()
        ' Display the names of the files.
        Dim fri As FileInfo
        For Each fri In fiArr
            Console.WriteLine(fri.Name)
        Next fri
    End Sub 'Main
End Class 'GetFilesTest

我怎样获取星期五的日期时间?并将其复制到另一个文件夹中? - Alex
1
fri.CreationTime会给出文件创建的日期/时间。要将文件复制到另一个目录,您可以在File类上使用共享的Copy方法 - File.Copy(fri.FullName, "C:\SomeDir\File.exe")。 - lee-m

5
 For Each LogFile In Directory.GetFiles(Application.StartupPath & "\Txt\")

        ' do whatever wtih filename

    Next

7
这只是部分答案。既然已经有完整的答案,为什么要在三年后才回答呢? - Kuitsi

2
我们有机会在VB.Net中开发(而不是Java),并且一些变量的定义可以缩短。我仍然使用GetFiles(),并已添加代码以显示DateTime信息。
Imports System
Imports System.IO
...
Dim dir As New DirectoryInfo(sFolderName)
For Each f In dir.GetFiles()
    Console.WriteLine(">> FILE-NAME: [" & f.Name & "]")
    Console.WriteLine(">> UPDATE-DATE: " & f.lastWriteTime.toString("yyyy-MM-dd"))
    Console.WriteLine(">> CREATE-DATE: " & f.creationTime.toString("yyyy-MM-dd"))
Next

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接