刪除30分鐘前的檔案VB.NET

  • 191
  • 0
  • 2020-04-14

刪除30分鐘前的檔案VB.NET

Public Class Form3

    Dim FSO, agoHours, modifiedDate, modifiedDate01, delFolder, delFolderQu(1), i

    Dim path_fin As String = String.Empty


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ' 指定所有變數必須事先宣告才能使用


        'WScript.Echo("作業開始執行:" & now())

        ' 宣告變數,delFolderQu(number)陣列可依實際指定目錄數量增減


        ' 請將下面的變數值換成你要的
        ' == 開始 ==
        ' 指定 n 小時前的檔案,現在是 6小時前
        agoHours = 30


        ' 欲刪除檔案所在之目錄
        delFolderQu(0) = ("C:\XXX\XXX\Outboxes")
        ''delFolderQu(1) = ("D:\2區")
        ' == 結束 ==

        ' 建立檔案系統物件(File System Object)
        FSO = CreateObject("Scripting.FileSystemObject")

        ' 取得檔案的修改日期
        modifiedDate = DateAdd("m", -agoHours, Now())

        ' 確認修改時間為6小時前使用


        ' 呼叫刪除檔案的子程序,如果有值就進行刪除動作
        For Each delFolder In delFolderQu
            If delFolder <> "" Then
                DelFilesInFolder(FSO.GetFolder(delFolder))
            End If
        Next

        ' 刪除檔案的子程序

    End Sub

    Private Sub DelFilesInFolder(ByVal folder)
        ' 宣告變數
        Dim file, subFolder

        agoHours = 30
        modifiedDate01 = DateAdd("n", -agoHours, Now())
        path_fin = "C:\XXX\XXX\Outboxes"

        ' 找出目前所在目錄內所有的檔案
        For Each file In folder.Files
            ' 檢查檔案日期是否符合條件,若符合,就刪除
            If ((file.DateLastModified <= modifiedDate01)) Then
                'My.Computer.FileSystem.CopyFile(file, path_fin, FileIO.UIOption.AllDialogs, FileIO.UICancelOption.ThrowException)
                file.delete()
            End If
        Next

        ' 如果遇到子目錄,也要進去檢查並刪除
        For Each subFolder In folder.SubFolders
            DelFilesInFolder(subFolder)
        Next
    End Sub


    Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ' 指定所有變數必須事先宣告才能使用


        'WScript.Echo("作業開始執行:" & now())

        ' 宣告變數,delFolderQu(number)陣列可依實際指定目錄數量增減


        ' 請將下面的變數值換成你要的
        ' == 開始 ==
        ' 指定 n 小時前的檔案,現在是 6小時前
        agoHours = 30

        ' 欲刪除檔案所在之目錄
        delFolderQu(0) = ("C:\XXXX\XXXXX\Outboxes")
        ''delFolderQu(1) = ("D:\2區")
        ' == 結束 ==

        ' 建立檔案系統物件(File System Object)
        FSO = CreateObject("Scripting.FileSystemObject")

        ' 取得檔案的修改日期
        modifiedDate = DateAdd("n", -agoHours, Now())

        ' 確認修改時間為6小時前使用

 

        ' 呼叫刪除檔案的子程序,如果有值就進行刪除動作
        For Each delFolder In delFolderQu
            If delFolder <> "" Then
                DelFilesInFolder(FSO.GetFolder(delFolder))
            End If
        Next

        Me.Close()
        ' 刪除檔案的子程序

    End Sub
End Class

 

 

https://kulo1980.pixnet.net/blog/post/10524643

https://ithelp.ithome.com.tw/articles/10097807