Dienstag, 16. April 2024, 17:54 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Peratron

unregistriert

1

Sonntag, 21. Dezember 2014, 13:14

Script geht nicht

Hallo,
möchte gerne per Script Ordner incl. Inhalt (Dateien) die älter als 3 Tage sind, per Script löschen. Ein entsprechendes Script ist vorhanden, funktioniert aber leider nicht wie gewünscht. Wer hat ne Idee wieso das Script nicht funktioniert?! Grüße Peratron

strRootFolder = "C:\Test"

Set fso = CreateObject("Scripting.FileSystemObject")
Set ofolder = fso.GetFolder(strRootFolder)

'Durchlaufe alle Unterverzeichnisse
for each folder in ofolder.subfolders
KillFolderSub folder
next


Sub KillfolderSub(objFolder)

'Durchlaufe alle Unterverzeichnisse
for each subfolder in objfolder.subfolders
KillFolderSub subfolder
next

'Wenn Ordner vor mehr als 3 Tagen erstellt wurde...
if objFolder.datecreated < (Date - 3) then

'Alle Dateien im Ordner löschen
for each file in objfolder.Files
fso.DeleteFile(file.Path)
next

'Ordner löschen
fso.DeleteFolder(objFolder.Path)
end if

End Sub

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

2

Sonntag, 21. Dezember 2014, 15:19

Hoi Petatron

funktioniert aber leider nicht wie gewünscht.

Gerade hab' ich keinen Computer in der Nähe um die Aussage "Script geht nicht" nachzuvollziehen. In meinem Gehrin-Computer scheint der Code beim Durchlesen auch keinen Compiler Fehler zu erzeugen; was bedeute denn "funktioniert aber leider nicht wie gewünscht", kriegts Du eine Fehlermeldung, löscht das Ding Dir die Festplatte, schreibts ne SMS zum Mars oder was?

PS: hier ne nachdenliche Beschreibung zu Fehlermeldungem "Es geht nicht". Klar, Du hast Dein Coding gepostet - aber man müsste nun eine passende Testumgebung aufbauen, das Script implementieren und dann durchprobieren, um zu erahnen, was "es geht nicht" bedeutet. Vielleicht gibst Du ja einfaxh noch bekannt, was nicht funktioniert
Gruss
Bernd

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Bernd« (21. Dezember 2014, 15:30)


Peratron

unregistriert

3

Montag, 22. Dezember 2014, 11:39

Hallo Bernd,

das gepostete Script wird über eine .bat ausgeführt. Auf meinem PC wurde der Ordner C:\Test angelegt. In diesem befindet sich ein Ordner mit Dateien die gelöscht werden sollen. Beim ausführen der .bat Datei wird der entsprechende Ordner incl. Datei aber nicht gelöscht.

Grüße Peratron

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

4

Montag, 29. Dezember 2014, 18:30

Hoi Peratron

das gepostete Script wird über eine .bat ausgeführt.

OK, weil es VB/VBscript Code im Investox Forum zu sein schien, sah es nach einer Lösungs-Suche mit Investox VBScript aus. Nun, da es um .bat geht: VBScript Code kann nicht direkt von .bat oder .cmd Dateien ausgeführt werden.

Ich habe mal schnell gegoogelt nach "windows script files löschen älter als". Da kommt 'ne Menge; versuche doch einmal eine dieser Lösungen, um Files abhängig vom Alter zu löschen, das scheint mir plausibel und könnte Deine Anforderung erfüllen.
Gruss
Bernd

Peratron

unregistriert

5

Dienstag, 30. Dezember 2014, 10:24

Hallo Bernd,
vielen Dank für deine Hilfe!

Mit deinem Hinweis, das es sich um einen VBS Code handelt und der entsprechenden Änderung der
Dateiendung von .bat in .vbs funktioniert das Script nun einwandfrei.

Guten Rutsch. Grüße Peratron