http://dieseyer.de • all rights reserved • © 2011 v11.4
'v3.7*****************************************************
' File: VerzeichnisAltDelete.vbs
' Autor: dieseyer@gmx.de
' dieseyer.de
'
' Löscht alle Verzeichnisse, die ab einem bestimmten Datum
'*********************************************************
Option Explicit
Dim Pfad, Alter
Pfad = "d:\setup"
Pfad = "." ' Verzeichnis, in dem sich das Skript befindet, Skript wird also auch gelöscht
Pfad = "c:\temp"
Alter = 365 ' Verzeichnisse, die vor xxx Tagen angelegt wurden
MsgBox AlteVerzLoeschen (Pfad, Alter ) 'Function Aufruf und Ergebnisanzeige
AlteVerzLoeschen "c:\temp", 100 'Function Aufruf OHNE Ergebnisanzeige
' ~~~~~~
WScript.Quit
'*********************************************************
Function AlteVerzLoeschen (Pfad, Alter) ' Anfang
'*********************************************************
Dim fso, Txt, i, oSubFolder
Alter = FormatDateTime( now() - Alter ,2)
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
if not fso.FolderExists( Pfad ) then
MsgBox UCase(Pfad) & " existiert nicht!", , WScript.ScriptName
Exit Function
End If
AlteVerzLoeschen = "In " & UCase( Pfad ) & " wurden vor dem " & Alter & " angelegte Verzeichnisse gelöscht." & vbCRLF & vbCRLF
Set oSubFolder = fso.GetFolder( Pfad ).SubFolders
For Each i In oSubFolder
if DateDiff("d" , i.DateLastModified, Alter) > 0 then ' vor dem Alter geänderte Verzeichnisse
Txt = i.Path ' nach dem Löschen von i.Path ist auch i.Path gelöscht
AlteVerzLoeschen = AlteVerzLoeschen & i.Name & " " & vbTab & FormatDateTime( i.DateLastModified ,2)
On Error Resume Next
fso.DeleteFolder Txt, True
On Error GoTo 0
If not fso.FolderExists( Txt ) Then
AlteVerzLoeschen = AlteVerzLoeschen & vbCRLF
Else
AlteVerzLoeschen = AlteVerzLoeschen & " nicht gelöscht." & vbCRLF
End if
End If
Next
Set fso = nothing
Set oSubFolder = nothing
End Function ' AlteVerzLoeschen
http://dieseyer.de • all rights reserved • © 2011 v11.4