2013-04-01 75 views
0

我想弄清楚在Visual Basic的代碼,我已經從閃存驅動器中的文件夾中提取所有文件並將它們放在計算機上的文件夾中。我怎麼能讓這個程序刪除計算機上文件夾中以前未修改過的所有文件?刪除VB.NET中的特定文件

這是我到目前爲止有:

Imports System.IO 

Public Class frmExtractionator 

    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 
      Dim txtFiles = Directory.EnumerateFiles(sourceDirectory) 

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

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

    End Sub 
End Class 

回答

0

像這樣的事情會刪除尚未從給定日期修改的文件。

Private Sub DeleteUnmodifiedFiles(directoryName As String, modificationThreshold As Date) 
    Dim folder As New DirectoryInfo(directoryName) 
    Dim wasModifiedSinceThreshold As Boolean 
    For Each file As FileInfo In folder.GetFiles 
     wasModifiedSinceThreshold = (file.LastWriteTime > modificationThreshold) 
     If (Not wasModifiedSinceThreshold) Then file.Delete() 
    Next 
End Sub 

要根據天數刪除...

Private Sub DeleteUnmodifiedFiles(directoryName As String, modificationThresholdDays As Integer) 
    Dim folder As New DirectoryInfo(directoryName) 
    Dim thresholdDate As Date 
    Dim wasModifiedSinceThreshold As Boolean 
    For Each file As FileInfo In folder.GetFiles 
     thresholdDate = DateTime.Now().AddDays(-1 * modificationThresholdDays) 
     wasModifiedSinceThreshold = (file.LastWriteTime > thresholdDate) 
     If (Not wasModifiedSinceThreshold) Then file.Delete() 
    Next 
End Sub 
+0

謝謝你,你會知道我會編輯的代碼刪除了未在過去的一年modfied所有文件? –

+0

我會將其附加到我的答案中。 – nunzabar

+0

好的,我在代碼的最後添加了,但是當我運行該程序時。它將所有文件提取到指定的文件夾,但不會刪除任何未修改的文件。 –