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.GetLastWriteTimeメソッドを使用して、ファイルが最後に書き込まれたのがいつかを判断できます。

リンクから:

指定されたファイルまたはディレクトリが最後に書き込まれた日時を返します。

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 に答える