VB Script - Dateien löschen

Ceza

Grünschnabel
Hallo Leute,

ich würd gern ein VBScript schreiben, welches Dateien in einem bestimmten Ordner löscht. Aber nur Dateien die älter als 2 Monate sind.

Hab leider nicht gerade viel Ahnung von VBScript und wollte fragen ob es da vielleicht nen beispielscript gibt oder ne vorlage, oder ob jemand darüber bescheid weiss.
 
Eine Datei löscht man über Delete.
Wann sie erstellt wurde, ermittelst du über die Eigenschaft DateCreated
Am Besten besorgst du dir von MS die Windows-Scripting-Referenz, da steht alles drin, auch Codebeispiele.
 
ich hab bisher das hier mal geschafft

Code:
''VB SCRIPT FOR DELETING TEMPORARY LOG FILES

Dim WshShell, fso, test

Set fso = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("wscript.shell")

On Error Resume Next

test = fso.datecreated
MsgBox(test)
fso.deleteFile ("C:\TestTemp\*.log")

die dateien werden gelöscht, aber eben noch nicht danach wie alt sie sind.
ich versuche hier irgendwie per msgbox zu sehen wann die datei erstellt wurde, krieg aber keinen text zurück. ich wollte eine solche abfrage machen, ka ob das stimmt

if fso.datecreated > 6 then
fso.deletefile ("C:\testtemp\*.log)

aber das würd so ja nicht gehen.
 
  1. du musst mittels GetFile() einen Zeiger auf die Datei erzeugen, auf welche du die Methoden anwendest.
  2. du musst einen tatsächlichen Dateipfad eingeben, Wildcards funktionieren da nicht
  3. um zu ermitteln, wieviel Tage eine Datei alt ist, verwende die Methode DateDiff()
...
Code:
Dim WshShell, fso, file

Set fso      = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.shell")
Set file     = fso.GetFile("C:\\TestTemp\\dateiname.log")

if (DateDiff("d", file.DateCreated, Now)) > 6 Then file.Delete

BTW: vielleicht solltest du auf "On Error Resume Next" erstmal verzichten, ... woher willst du sonst wissen, ob und welcher Fehler auftritt.


PS: wenn du in deinem Skript die Kleinschreibung bevorzugst, ist das deine Sache.
Beim Erstellen von Beiträgen ist hier im Board die Verwendung von korrekter Gross/Kleinschreibung erwünscht ;)
 
Ok ich hab das soweit hingekriegt, dass es tatsächlich funktioniert :D

Nur bräucht ich noch was, im Moment lösche ich die Dateien nach Alter des Erstellungsdatum, ich bräucht aber ned DateCreated sondern wann es zuletzt geändert wurde.
 
probiers mal mit folgendem:
Code:
if (DateDiff("d", file.DateLastModified, Now)) > 6 Then file.Delete
Hoffe das ist das, was du erreichen wolltest.

mfG,
MAN
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück