2013-04-11 65 views
0

以下代碼我聽說將提取某個文件夾內的所有文件,然後複製所有文件並將它們放到另一個文件夾中。我今天的問題是如何修改此代碼,以便只從最初的文件夾中提取的文件最近被修改。即使你能告訴我如何只提取從今天起被修改過的文件會很棒。感謝所有幫助你的人!Visual Basic - 將唯一最近修改的文件複製到另一個文件夾

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 

回答

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 
+0

是歡迎您森〜也不 – 2013-04-11 15:47:17

+0

歡迎您,很高興有幫助 – 2013-04-11 15:51:45

相關問題