之前拜讀alexc大大的文章,應工作須要努力的找尋作法,終於做到可指定目錄,分享給須要的人。如果有人有更好的方式希望也能給我建議謝謝。
' 指定所有變數必須事先宣告才能使用
Option Explicit
'WScript.Echo("作業開始執行:" & now())
' 宣告變數,delFolderQu(number)陣列可依實際指定目錄數量增減
Dim FSO, agoHours, modifiedDate, delFolder, delFolderQu(1), i
' 請將下面的變數值換成你要的
' == 開始 ==
' 指定 n 小時前的檔案,現在是 6小時前
agoHours = 6
' 欲刪除檔案所在之目錄
delFolderQu(0) = ("D:\1區")
delFolderQu(1) = ("D:\2區")
' == 結束 ==
' 建立檔案系統物件(File System Object)
Set FSO = CreateObject("Scripting.FileSystemObject")
' 取得檔案的修改日期
modifiedDate = DateAdd("h", -agoHours, now())
' 確認修改時間為6小時前使用
WScript.Echo("修改日期:" & modifiedDate )
' 呼叫刪除檔案的子程序,如果有值就進行刪除動作
For Each delFolder in delFolderQu
IF delFolder <> "" Then
DelFilesInFolder FSO.GetFolder(delFolder)
END IF
NEXT
' 刪除檔案的子程序
Sub DelFilesInFolder(folder)
' 宣告變數
Dim file, subFolder
' 找出目前所在目錄內所有的檔案
For Each file In folder.Files
' 檢查檔案日期是否符合條件,若符合,就刪除
If ((file.DateLastModified <= modifiedDate)) Then
file.delete
End If
Next
' 如果遇到子目錄,也要進去檢查並刪除
For Each subFolder in folder.SubFolders
DelFilesInFolder subFolder
Next
End Sub
WScript.Echo("作業執行完畢:" & Date & " " & Time)