'DEL_X_DAYS_EXT_FILES.VBS
'
'Skript zum löschen von Dateien mit der Extension sExt im Pfad sDirectoryPath,
'die älter als iDaysOld Tage sind
'
'
'sDirectoryPath = Pfad zum Verzeichnis, in dem die zu löschenden Dateien liegen (ohne abschließnden Backslash)
'sExt = Extension, der Dateien, die gelöscht werden können/sollen
'iDaysOld = Angabe des Dateialters in ganzen Tagen
Option Explicit
On Error Resume Next
Dim oFSO, oFolder, sDirectoryPath
Dim oFileCollection, oFile, sDir
Dim iDaysOld, sExt
'Variablen definieren
sDirectoryPath = "D:\BACKUP"
sExt = "bak"
iDaysOld = 1
'Zugriff auf Ordner und Dateien
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder(sDirectoryPath)
Set oFileCollection = oFolder.Files
'Durchsuchen des Zielordners nach allen Dateien mit der Endung sExt
For each oFile in oFileCollection
If LCase(Right(Cstr(oFile.Name), 3)) = sExt Then
If oFile.DateLastModified < (Date() - iDaysOld) Then 'lösche Datei, wenn diese älter als iDaysOld Tage ist
'oFile.Delete(True) '----> Zeile ist nicht aktiv, bitte noch Dokemtarzeiehn davor herausnhemen!!!
msgbox oFile.Name '----> Es wird nur der Name der zu löschenden Datei angezeigt!!
End If
End If
Next
'Variablen zurücksetzen
Set oFSO = Nothing
Set oFolder = Nothing
Set oFileCollection = Nothing
Set oFile = Nothing
'Ermittlung der neuesten Datei mit Extension sExt im Pfad sPfath
'
'
'Das Skript durchsucht den gewünschten Pfad "sPath" nach Dateien mit der Extension "sExt"
'und gibt dann den kompletten Pfad mit Dateinamen von der neuesten Dateu aus sNewestFile
'Variablen für Pfad und Extension
'sPfad ohne abschließenden Backslash angeben
'sExt ohne Punkt davor angeben
sPath = "C:\Windows\System32"
sExt = "dll"
'Filesystemobject genereieren
Set oFSO = CreateObject("Scripting.FileSystemObject")
'Funtkion GetNewestFile ausführen
sNewestFile = GetNewestFile(sPath)
'Ausgabe der neuesten Datei
'Wenn keine Datei ermittelt werden konnte, dann auch melden
If sNewestFile <> "" Then
WScript.Echo "Die neuste Datei mit der Extension " & sExt & " ist " & sNewestFile
Else
WScript.Echo "Verzeichnis ist leer"
End If
'Funktion NewestFile
Function GetNewestFile(ByVal sPath)
sNewestFile = Null ' initialisiere Wert
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder(sPath)
Set oFiles = oFolder.Files
' Finde die neueste Datei unter allen anderen Dateien
For Each oFile In oFiles
if lcase(oFSO.GetExtensionName(ofile)) = sExt then 'selektiere Dateien mit der gewünschten Endung aus
On Error Resume Next
If IsNull(sNewestFile) Then
sNewestFile = oFile.Path
dPrevDate = oFile.DateLastModified
Elseif dPrevDate < oFile.DateLastModified Then
sNewestFile = oFile.Path
End If
end if
On Error Goto 0
Next
If IsNull(sNewestFile) Then sNewestFile = ""
GetNewestFile = sNewestFile
End Function
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”