我需要幫助調整下面的代碼或新的代碼,甚至定期清理特定的目錄。我嘗試了一些網上找到的解決方案,但他們似乎都沒有正確的工作。基本上我需要一個命令來根據修改的日期去除比X天更早的文件/文件夾。我發現的腳本似乎刪除了太多。大多數似乎首先刪除文件,然後刪除任何空目錄。這似乎並不適用於我。有沒有辦法查看一個文件夾的修改日期,如果它的舊版本,刪除文件夾和內容?計劃是通過任務調度程序每週執行一次。BAT或VBS清除舊文件和文件夾
我會看看我能解釋我的數據:
我的數據:
Mainfolder
Subfolder1
SubSubFolder1.1 - 包含舊的文件夾舊文件
SubSubFolder1.2 - 包含舊文件的舊文件夾
SubSubFolder1.3 - 含新建文件夾的新文件
Subfolder2
SubSubFolder2.1 - 包含舊的文件夾舊文件
Subfolder3
SubSubFolder3.1 - 包含新文件
新建文件夾腳本的結果應該如下所示,只剩下以下文件夾\文件:
Mainfolder
Subfolder1
SubSubFolder1.3 - 含新建文件夾的新文件
Subfolder2 - 刪除的
Subfolder3
SubSubFolder3.1 - 含新建文件夾的新文件
以下是我在網上找到的代碼,並且一直在嘗試修改但尚未使其正常工作。我試圖調整它,但沒有運氣得到我想要實現的結果。它不斷刪除太多的數據,或者如果通過註釋掉某些行來進行調整,它不會消除足夠的數據。
Const strPath = "C:\Temp"
Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
Call Search (strPath)
' Comment out below line if you'd like to use this script in windows schedule task
WScript.Echo"Done."
Sub Search(str)
Dim objFolder, objSubFolder, objFile
Set objFolder = objFSO.GetFolder(str)
For Each objFile In objFolder.Files
' Use DateLastModified for modified date of a file
If objFile.DateCreated < (Now() - 5) Then
objFile.Delete(True)
End If
Next
For Each objSubFolder In objFolder.SubFolders
Search(objSubFolder.Path)
' Files have been deleted, now see if the folder is empty.
If (objSubFolder.Files.Count = 0) Then
objSubFolder.Delete True
End If
Next
End Sub
我已嘗試之一,但我還需要刪除這些文件均在目錄,但我並不需要做大量看空目錄,並刪除它們全部如果是空的。 – 2014-12-04 17:45:27
由於它出現一個目錄是全部或全部沒有,爲什麼不清除結果中包含的返回的目錄(默認包括過時的文件):'FORFILES/P「C:\ Dir \ To \ Clean」/ S/D -90/C「CMD/C IF @ IsDir == TRUE RMDIR/S/Q @Path」' – 2014-12-04 17:56:17