获取文件的日期创建或修改日期?

时间:2016-08-03 18:33:19

标签: vb.net datagridview system.io.directory

我想获取创建日期,最后修改日期与文件相关的其他详细信息,并将它们添加到datagridview。目前,我使用directory.getfiles获取文件信息。 这是我到目前为止所得到的:

Dim paths() As String = IO.Directory.GetFiles("mypath")

For Each sFile As String In paths
    Dim fileNameOnly As String = Path.GetFileNameWithoutExtension(sFile)
    gridview.Rows.Add(fileNameOnly)
Next

4 个答案:

答案 0 :(得分:1)

如果您使用DirectoryInfo对象获取文件列表,则可以访问更多数据:

Dim di As DirectoryInfo = New DirectoryInfo("mypath")

然后你的循环看起来更像:

For Each fi In di.GetFiles("*", SearchOption.AllDirectories)
    Dim fileNameOnly As String = fi.Name
    Dim createDate as Date = fi.CreationTime
    <etc...>
Next

有关FileInfo的完整说明,请参阅此处:

https://msdn.microsoft.com/en-us/library/system.io.fileinfo(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1

*我的vb可能生锈

答案 1 :(得分:1)

这就是我抓住创建日期和最后写入时间的方式。

For each sfile as datetime.tostring in paths
     Dim fileCreatedDate As DateTime = File.GetCreationTime(paths)
     Dim fileLastWrite as DateTime = File.GetLastWriteTime(path)
Next

要在日期之间获取文件,请尝试此操作..

Dim [date] As DateTime = firstdatevariable
While [date] <= seconddatevariable
     'add dates that are inbetween them
End While

答案 2 :(得分:0)

我借了this function。通过填充具有该信息的数据表,可以在需要时进一步操作,从而使其变得非常简单。

gridview.DataSource = Fileinfo_To_DataTable("mypath")

 Private Function Fileinfo_To_DataTable(ByVal directory As String) As DataTable
        Try
            'Create a new data table
            Dim dt As DataTable = New DataTable
            'Add the following columns: Name. Length Last Write Time, Creation Time
            dt.Columns.Addrange({New DataColumn("Name"), New DataColumn("Length", GetType(Long)), New DataColumn("Last Write Time", GetType(Date)), New DataColumn("Creation Time", GetType(Date))})
            'Loop through each file in the directory
            For Each file As IO.FileInfo In New IO.DirectoryInfo(directory).GetFiles
                'Create a new row
                Dim dr As DataRow = dt.NewRow

                'Set the data
                dr(0) = file.Name
                dr(1) = file.Length
                dr(2) = file.LastWriteTime
                dr(3) = file.CreationTime

                'Add the row to the data table
                dt.Rows.Add(dr)
            Next

            'Return the data table
            Return dt
        Catch ex As Exception
            Console.WriteLine(ex.ToString)

           'Return nothing if something fails
            Return Nothing
        End Try
  End Function

答案 3 :(得分:0)

在我看来,最简单的例子就是这个例子。 我在这里在“我的文档”中查找名为Symbols.csv的文件

Friend ReadOnly MyDocsFolder As String = My.Computer.FileSystem.SpecialDirectories.MyDocuments
Dim SymbolsFile As String = Path.Combine(MyDocsFolder, "Symbols.csv")
Dim dt As Date = File.GetLastWriteTime(SymbolsFile)
Text = "Data last saved at:  " & dt.ToShortDateString