VB Skript – Verzeichnis bereinigen

Das Skript durchläuft einen Array und kann abhängig vom Dateityp das System bereinigen.

Speichern Sie die Skriptzeilen als eine vbs-Datei und führen diese manuell oder über den Taskmanager aus.

' Skript zum löschen von Dateien
 
' Dim 1 = Ordnerpfad
' Dim 2 = Dateityp; Leerer String = alle Typen
 
Dim ArrFolder(6,1)
ArrFolder(0,0) = "c:\"
ArrFolder(0,1) = "TXT"
ArrFolder(1,0) = "C:\temp"
ArrFolder(1,1) = ""
ArrFolder(2,0) = "c:\Log"
ArrFolder(2,1) = ""
ArrFolder(3,0) = "C:\Rechenkerne"
ArrFolder(3,1) = "IN"
ArrFolder(4,0) = "C:\Rechenkerne"
ArrFolder(4,1) = "OUT"
ArrFolder(5,0) = "C:\Rechenkerne\bipro-dev.sps-servicesgmbh.de\Rechenkerne\LV1871\temp"
ArrFolder(5,1) = ""
ArrFolder(6,0) = "C:\Rechenkerne\bipro-dev-db.sps-servicesgmbh.de\Rechenkerne\LV1871\temp"
ArrFolder(6,1) = ""
 
' Älter als x Tage werden gelöscht
numdays=7
 
today=Now
 
On Error Resume Next
 
Set objFS = CreateObject("Scripting.FileSystemObject")
'For Each strFolder In ArrFolder
For x = 0 to UBound(ArrFolder)
strFolder = ArrFolder(x,0)
Set objFolder = objFS.GetFolder(strFolder)
Go (objFolder)
Next
 
Sub Go(objDIR)
If objDIR <> "\System Volume Information" Then
For Each eFolder in objDIR.SubFolders
Go eFolder
Next
For Each strFile In objDIR.Files
If DateDiff("d",strFile.DateLastModified,today) >= numdays Then
if UCase(objFS.GetExtensionName(strFile.Name)) = UCase(ArrFolder(x,1)) Then
'WScript.Echo(objFS.GetExtensionName(strFile.Name))
strFile.Delete
ElseIf UCase(Trim(ArrFolder(x,1))) = "" Then
'WScript.Echo(objFS.GetExtensionName(strFile.Name))
strFile.Delete
End If
End If
Next
End If
End Sub

 

Leave a Reply