0

我听到的以下代码将提取某个文件夹中的所有文件,然后将它们全部复制并放入另一个文件夹中。我今天的问题是如何修改此代码,以便最近修改了从原始文件夹中提取的文件。即使你能告诉我如何只提取从今天起修改过的文件,那也很棒。感谢所有帮助的人!

Imports System.IO

Public Class frmExtractionator

Dim txtFiles1 As Control

Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click

    Dim sourceDirectory As String = "E:\CopierFolderforTestDriveCapstone"
    Dim archiveDirectory As String = "E:\FilesExtracted"

    Try
        'DeleteUnmodifiedFiles(sourceDirectory, -14)

        Dim txtFiles = Directory.EnumerateFiles(sourceDirectory)

        If (Not System.IO.Directory.Exists(archiveDirectory)) Then
            System.IO.Directory.CreateDirectory(archiveDirectory)
        End If



        For Each currentFileLoc As String In txtFiles
            Dim fileName = currentFileLoc.Substring(sourceDirectory.Length + 1)
            File.Move(currentFileLoc, Path.Combine(archiveDirectory, fileName))
        Next
    Catch eT As Exception
        Console.WriteLine(eT.Message)
    End Try
End Sub
4

1 回答 1

0

您可以使用Directory.GetLastWriteTimeMethod 来确定上次写入文件的时间。

来自链接:

返回上次写入指定文件或目录的日期和时间。

Dim checkDate As Date = Date.Parse("01/1/2013")

For Each currentFileLoc As String In txtFiles
    Dim fileName = currentFileLoc.Substring(sourceDirectory.Length + 1)
    If Directory.GetLastWriteTime(Path.Combine(sourceDirectory, fileName)) > checkDate Then
        File.Move(currentFileLoc, Path.Combine(archiveDirectory, fileName))
    End If
Next
于 2013-04-11T15:17:07.867 回答