刪除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