In speziellen Ordnern Dateien löschen

06/03/2009 - 13:04 von Timo Michels | Report spam
Hallo zusammen,

ich bin ein totaler Scripting-Anfànger und benötige ein vbs für folgende
Aktion:

Es sollen mit Hilfe von delage32.exe alle Dateien in speziellen Ordnern
gelöscht werden, die àlter als 30 Tage sind. Wàhlbar soll eben der
"spezielle Ordnername" sein, nur in diesen Ordnern soll der
delage32-Befehl ausgeführt werden.

Die Odnerstruktur sieht z.B. so aus:

D:\Verzeichnis1\x
D:\Verzeichnis1\y
D:\Verzeichnis1\zzz
D:\Verzeichnis2\x
D:\Verzeichnis2\y
D:\Verzeichnis2\zzz
D:\Verzeichnis3\x
D:\Verzeichnis3\y
D:\Verzeichnis3\zzz

Nun möchte ich in allen Verzeichnissen D:\*\zzz die alten Dateien per
delage32.exe löschen lassen. Kann mir hier jemand auf die schnelle
helfen? Danke!

Gruss,
Timo
 

Lesen sie die antworten

#1 Pegasus
06/03/2009 - 14:34 | Warnen spam
"Timo Michels" wrote in message
news:49b11138$0$30229$
Hallo zusammen,

ich bin ein totaler Scripting-Anfànger und benötige ein vbs für folgende
Aktion:

Es sollen mit Hilfe von delage32.exe alle Dateien in speziellen Ordnern
gelöscht werden, die àlter als 30 Tage sind. Wàhlbar soll eben der
"spezielle Ordnername" sein, nur in diesen Ordnern soll der
delage32-Befehl ausgeführt werden.

Die Odnerstruktur sieht z.B. so aus:

D:\Verzeichnis1\x
D:\Verzeichnis1\y
D:\Verzeichnis1\zzz
D:\Verzeichnis2\x
D:\Verzeichnis2\y
D:\Verzeichnis2\zzz
D:\Verzeichnis3\x
D:\Verzeichnis3\y
D:\Verzeichnis3\zzz

Nun möchte ich in allen Verzeichnissen D:\*\zzz die alten Dateien per
delage32.exe löschen lassen. Kann mir hier jemand auf die schnelle helfen?
Danke!

Gruss,
Timo



Versuch's mal mit dem folgenden Script. Er besorgt gleich alles, du brauchst
also delage.exe nicht mehr. Hier die Anweisungen dazu:
- Den Script in c:\Löschen.vbs speichern.
- Die Zeilen 2 bis 5 deinem Umfeld anpassen.
- Die englischen Texte auf Deutsch übersetzen (falls gewünscht).
- Die Zeilennummern entfernen.
- Eine Befehlseingabe öffnen (Start / Run / cmd).
- Denn folgenden Befehl tippen: cscript //nologo c:\Löschen.vbs
- Dich vergewissern, dass alles wie gewünscht làuft. Vorlàufig wird nichts
gelöscht!
- In Zeile 1 Active = True setzen.
- Den Script nochmals laufen lassen. Jetzt wird er alte Dateien löschen.

01. Const Active = False
02. Const MaxAge = 10 'days
03. Const Recursive = True
04. Const sOrdner = "zzz"
05. Const sLaufwerk = "D:\"
06.
07. Checked = 0
08. Deleted = 0
09.
10. if active then verb = "Deleting """ Else verb = "Old file: """
11.
12. Set oFSO = CreateObject("Scripting.FileSystemObject")
13.
14. For Each oOrdner In oFSO.GetFolder(sLaufwerk).SubFolders
15. For Each oUnterordner In oOrdner.SubFolders
16. If LCase(oUnterordner.Name) = sOrdner _
17. Then CheckFolder(oUnterOrdner)
18. Next
19. Next
20.
21. WScript.echo
22. if Active then verb = " file(s) deleted" _
23. Else verb = " file(s) would be deleted"
24. WScript.Echo Checked & " file(s) checked, " & Deleted & verb
25.
26. Sub CheckFolder (oFldr)
27. For Each oFile In oFldr.Files
28. Checked = Checked + 1
29. If DateDiff("D", oFile.DateLastModified, Now()) > MaxAge Then
30. Deleted = Deleted + 1
31. WScript.Echo verb & oFile.Path & """"
32. If Active Then oFile.Delete
33. End If
34. Next
35.
36. if not Recursive then Exit Sub
37. For Each oSubfolder In oFldr.Subfolders
38. CheckFolder(oSubfolder)
39. Next
40. End Sub

Ähnliche fragen