iT邦幫忙

9

如何用vbs定期刪除特定目錄內的檔案(可指定多目錄)

  • 分享至 

  • xImage
  •  

之前拜讀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)

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言