52106
26.01.2011, aktualisiert am 18.10.2012
5492
9
0
Script zum löschen von Ordnern im Format jjjjttmmstdstdminmin, die älter als 14 Tage sind
Guten Tag,
ich benötige folgendes Script: Script zum löschen von Ordnern im Format jjjjttmmstdstdminmin, die älter als 14 Tage sind. Kann mir dazu jemand eine Vorlage schreiben? Danke
ich benötige folgendes Script: Script zum löschen von Ordnern im Format jjjjttmmstdstdminmin, die älter als 14 Tage sind. Kann mir dazu jemand eine Vorlage schreiben? Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 159470
Url: https://administrator.de/forum/script-zum-loeschen-von-ordnern-im-format-jjjjttmmstdstdminmin-die-aelter-als-14-tage-sind-159470.html
Ausgedruckt am: 24.12.2024 um 18:12 Uhr
9 Kommentare
Neuester Kommentar
@t-mo
Soferne die Antwort auf meine obige Frage "ja" ist und der Name als Kriterium dienen soll, wird's etwas knifflig (und das war der für mich interessante Teil ) ...
... ansonsten hast du allerdings recht mit Deinem Vorschlag (dem ich noch, für den Fall dass doch nicht anhand des Dateinamens gelöscht werden soll, einen Tipp sowie den ergänzenden Hinweis auf "WasFile 2.2" - gleichfalls auf der verlinkten Seite zu finden - hinzufüge).
Grüße
bastla
Soferne die Antwort auf meine obige Frage "ja" ist und der Name als Kriterium dienen soll, wird's etwas knifflig (und das war der für mich interessante Teil ) ...
... ansonsten hast du allerdings recht mit Deinem Vorschlag (dem ich noch, für den Fall dass doch nicht anhand des Dateinamens gelöscht werden soll, einen Tipp sowie den ergänzenden Hinweis auf "WasFile 2.2" - gleichfalls auf der verlinkten Seite zu finden - hinzufüge).
Grüße
bastla
Zitat von @52106:
Also, ich schildere euch mein Problem mal Detail.iert?
Also, ich schildere euch mein Problem mal Detail.iert?
- wenn du jeden Tag einen neuen Ordner anlegst und du willst nur die Ordner (Bäckubz) der letzten 14 Tage behalten, dann wäre es doch logisch, alle Ordner - bis auf die 14 letzten in den Orkus zu kicken.
Brauche dies aber dringend für 3 Standorte.
Nee sorry - aber das trinkende Reizwort in Verbindung mit so einer (Bastla möge mir verzeihen) Banalfrage "skip=14" - da tick ich aus .-(
Warum denken so viele eigentlich - wenn schon nicht richtig, dann per Batch und am besten schnell von anderen bauen lassen, weil man brauchst ja dringend für 3 Standorte oder 1000 Rechner...
Mit Batch kan man selber so schöne Sachen machen, aber diese Würgarounds da mach ich nicht mit
Hallo SBong1!
Das folgende VBScript simuliert den Löschvorgang nur - zumindest, solange der Löschbefehl in Zeile 13 durch das davor gestellte Kommentarzeichen ' deaktiviert ist:
Die Zeilen 8, 12 und 16 sind im "Ernstfall" nicht erforderlich.
Kurz zum Ablauf: Da eine gewöhnliche Sortierung (wegen der umgekehrten Reihenfolge von Tag und Monat) nicht zielführend ist, wird in den Zeilen 5 bis 7 eine "Whitelist" (lässt sich mit einem zusätzlichen
nach Zeile 7 auch anzeigen) für die nicht zu löschenden Datumswerte (in der Schreibweise "jjjjttmm", wobei als Begrenzung jeweils ein "#" vor und nach dem Datum steht) erzeugt - jeder Ordner, dessen erste 8 Zeichen des Namens nicht einem Listeneintrag entsprechen, wird gelöscht (siehe Zeile 11).
Grüße
bastla
P.S.: @t-mo
Ich verzeihe umstandslos , allerdings: Ein "
Das folgende VBScript simuliert den Löschvorgang nur - zumindest, solange der Löschbefehl in Zeile 13 durch das davor gestellte Kommentarzeichen ' deaktiviert ist:
Basis = "D:\Backup"
Alter = 14
Behalten = "#"
For i = Date To Date - Alter Step -1
Behalten = Behalten & Year(i) & Right("0" & Day(i), 2) & Right("0" & Month(i), 2) & "#"
Next
Entfernen = "Gelöscht würden:" & vbCrLf
Set fso = CreateObject("Scripting.FileSystemObject")
For Each Folder In fso.GetFolder(Basis).SubFolders
If Instr(Behalten, "#" & Left(Folder.Name, 8) & "#") = 0 Then
Entfernen = Entfernen & vbCrLf & Folder.Path
'Folder.Delete
End If
Next
WScript.Echo Entfernen
Kurz zum Ablauf: Da eine gewöhnliche Sortierung (wegen der umgekehrten Reihenfolge von Tag und Monat) nicht zielführend ist, wird in den Zeilen 5 bis 7 eine "Whitelist" (lässt sich mit einem zusätzlichen
WScript.Echo Behalten
Grüße
bastla
P.S.: @t-mo
Ich verzeihe umstandslos , allerdings: Ein "
skip=14
" setzt eine passende Sortierung voraus ...
Moin,
Zum zweiten: Solche "Erpressungsversuche" mag ich ja noch weniger, als das Wort Dringend.
Nix gegen Bastla und seine Lösung, aber das ist Works as Designed und ich behaupte, die Designvorgabe ist bescheiden.
Ich rsynce auch zwischen NASsen und da stimmt das Dateidatum - ob es an Buffalo oder an deinem Script oder an dem fehlenden NTP Server liegt - ich weiß es nicht und will es auch nicht wissen.
Denk mal drüber nach und wenn Bastlas Lösung deinen Ansprüchen genügt - bitte einen grünen Haken drankleben und mal ne Nacht über das Design schlafen.
Gruß
Zitat von @52106:
Sehr gut TimoBeil,
du scheinst meine Frage ja kompl. verstanden zu haben. Ich werde es mal in einem anderen Forum probieren.
Zum ersteren Ja habe ich - soweit man eine Frage, die in eine Zeile gepresst wurde - als Aussenstehender verstehen kann.Sehr gut TimoBeil,
du scheinst meine Frage ja kompl. verstanden zu haben. Ich werde es mal in einem anderen Forum probieren.
Zum zweiten: Solche "Erpressungsversuche" mag ich ja noch weniger, als das Wort Dringend.
Nur zur Info: Der Timestamp des NTFS Dateisystems wird nicht aktuell angezeigt, so dass ich mir leider mit einem Script, was
alles älter als oder wie du es schreibst:
Und da sehe ich den Unterschied zwischen diesem Forum und jenen Foren, wo man Haischecklogs postet.alles älter als oder wie du es schreibst:
Nix gegen Bastla und seine Lösung, aber das ist Works as Designed und ich behaupte, die Designvorgabe ist bescheiden.
Ich rsynce auch zwischen NASsen und da stimmt das Dateidatum - ob es an Buffalo oder an deinem Script oder an dem fehlenden NTP Server liegt - ich weiß es nicht und will es auch nicht wissen.
Denk mal drüber nach und wenn Bastlas Lösung deinen Ansprüchen genügt - bitte einen grünen Haken drankleben und mal ne Nacht über das Design schlafen.
Gruß