-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclear_folder.vbs
80 lines (65 loc) · 3.3 KB
/
clear_folder.vbs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Dim objFSO, objFile, objStartFolder, objDelFolder, Subfolder, MinMinutesLastAccessed
'=== ïàðàìåòðè===
objStartFolder = "E:\#TEMP_E#\____DELETE_1"
MinMinutesLastAccessed = 10080
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Ïðîõ³ä ïî "êîðåíåâ³é" ïàïö³
OutPut_result (objStartFolder)
'Ïðîõ³ä ïî ï³äïàïêàõ
ShowSubfolders objFSO.GetFolder(objStartFolder)
' delete emtpy folder
'Wscript.Echo (vbCrLf &"DELETE folder is empty")
Set oShell = WScript.CreateObject("WScript.Shell")
delFolder = oShell.run("%windir%\System32\cmd.exe /v:on /c (for /f %d in ('dir " & objStartFolder & " /s /b /ad ^| sort /r') do rd ""%d"")", 0, true)
'======== ϳäïðîãðàìà - Ïðîõ³ä ïî ï³äïàïêàõ
Sub ShowSubFolders(Folder)
For Each Subfolder in Folder.SubFolders
OutPut_result (Subfolder)
ShowSubFolders Subfolder
Next
End Sub
'======= Sub Ïðîõ³ä ïî ïàïö³: àíàë³ç ôàéë³â, 䳿 ç ôàéëàìè, âèâåäåííÿ ðåçóëüòàò³â.
sub OutPut_result (objStartFolder)
Set objFolder = objFSO.GetFolder(objStartFolder)
'Wscript.Echo (vbCrLf & objFolder.Path & " (Files: " & objFolder.Files.count &", SubFolder: " & objFolder.SubFolders.Count & ")")
if objFolder.Files.count + objFolder.SubFolders.Count = 0 then
Wscript.Echo (objStartFolder &" The folder is empty - delete?")
end if
Set colFiles = objFolder.Files
For Each objFile in colFiles
if objFile.Name <> desktop.ini then
elseif objFile.Name <> desktop.log then
elseif DateDiff("N",objFile.DateLastAccessed, Now) > MinMinutesLastAccessed then
' Wscript.Echo (objStartFolder&"\"&objFile.Name & chr(9) &" == Last Accessed: " & objFile.DateLastAccessed & " Minutes since last Accessed: " & DateDiff("N",objFile.DateLastAccessed, Now))
Wscript.Echo (objStartFolder&"\"&objFile.Name & chr(9) &" == Last Accessed: " & objFile.DateLastAccessed & " Minutes since last Accessed: " & DateDiff("N",objFile.DateLastAccessed, Now) & " DELETE This Files")
objFSO.DeleteFile objFile, force
End If
Next
End Sub
' ==== âèõ³ä ç ïðîãðàìè
WScript.Quit(0)
'===== ð³çíå
sub DelEmptyFolder (startDelFolder)
For Each Subfolder in startDelFolder.SubFolders
Set DelFolder = objFSO.GetFolder(SubFolder)
Wscript.Echo (vbCrLf & DelFolder.Path & " (Files: " & DelFolder.Files.count &", SubFolder: " & DelFolder.SubFolders.Count & ")")
if DelFolder.Files.count + DelFolder.SubFolders.Count = 0 then
Wscript.Echo (DelFolder &" ==2== The folder is empty - delete?")
' ' objFSO.DeleteFolder objStartFolder, force
end if
DelEmptyFolder Subfolder
Next
end sub
'=============
Wscript.Echo (vbCrLf & Subfolder.Path)
Set objFolder = objFSO.GetFolder(Subfolder.Path)
Set colFiles = objFolder.Files
Wscript.Echo (" The folder is empty - delete?")
For Each objFile in colFiles
if DateDiff("N",objFile.DateLastAccessed, Now) < 10080 then
Wscript.Echo (Subfolder.Path&"\"&objFile.Name & chr(9) &" == Last Accessed: " & objFile.DateLastAccessed & " Minutes since last Accessed: " & DateDiff("N",objFile.DateLastAccessed, Now))
else
Wscript.Echo (Subfolder.Path&"\"&objFile.Name & chr(9) &" == Last Accessed: " & objFile.DateLastAccessed & " Minutes since last Accessed: " & DateDiff("N",objFile.DateLastAccessed, Now) & " DELETE This Files")
End If
Next
' Wscript.Echo