nooblike
Goto Top

Automatisches Löschen von Dateien

Automatisches Löschen von Dateien, die älter als X Tage sind via Batch datei.
[Edit] Thread auf Gelöst gesetzt und geschlossen 10.7.2006 Biber [/Edit]

Hallo, kann mir bitte jemand helfen, wie ich via Batchdatei, Daten in einem Bestimmten Ordner, die älter als 7 Tage sind löschen kann ?
Mit Visual Basic weiss ich wies geht aber ich sollte das mittels Batch machen, da es leichter zu verstehen ist.

Ich hoffe es kann mir jemand helfen das wäre echt nett

Mit freundlichen Grüßen
Alexander
http://www.tw-gaming.com

Content-Key: 20614

Url: https://administrator.de/contentid/20614

Ausgedruckt am: 29.03.2024 um 07:03 Uhr

Mitglied: Biber
Biber 29.11.2005 um 18:19:16 Uhr
Goto Top
Moin Nooblike,
Wir hatten schon ein paar ähnliche Fragen hier. Bitte probier doch ruhig mal die Suchfunktion aus, die ist wirklich brauchbar,
Im Prinzip empfehle ich für Faule Effiziente, die wirklich nur eine Problemlösung wollen, das Utility "DelAge.exe", das wie der Name sagt, Dateien mit einem bestimmten Alter löscht.
Download unter http://home.mnet-online.de/horst.muc/win/indexd.htm und dann "DelAge" auswählen.

Falls es Dir darum geht, erste Gehversuche mit Batchprogrammierung zu machen, ist das allerdings auch ein schöner Einstieg - zeigt eigentlich in einer Handvoll Zeilen, was sich so mit Batch machen lässt.
Ausführlicher ist diese Mimik hier beschrieben: Batch Sichern der 10 zuletzt geänderten Dateien

Dieses Beispiel ließe sich auch dahingehend umdrehen, dass nicht die 10 aktuellsten Dateien "verarbeitet" (in Deinem Fall gelöscht) werden, sondern alle Dateien älter als 7 Tage. Da aber unter dem CMD-Prompt kein Datentyp "Datum" existiert, müsstest Du zur "Rückrechnung" auf das "Tagesdatum minus 8 Tage" entweder aus dem String (29.11.2005"=="Heute") in einer Handvoll Zeilen den String "21.11.2005" erzeugen oder einen *.vbs-Zweizeiler aufrufen, der Dir eine DateDiff() liefern kann.
Variante a) will ich jetzt nicht neu erfinden (würde ich aber hinbekommen *schwör), Variante b), der Aufruf eines VBS-Schnipsels aus einem Batch heraus, ist im Batch-Tutorial "Datums- und Zeitvariablen im Batch" beschrieben.

Wenn Du keine Berührungsängste mit Utilities abseits aller Programmierkonventionen hast, würde ich Dir für Deinen Zweck dann eine Zeile mit dem M$-Sahneschnittchen "ForFiles.exe" empfehlen:
:: --- snipp DelNoobsFilesOlderAWeek.bat
@forfiles -pC:\Nooblike\ -d-8 -c"cmd /c del @File"
:: --- snapp DelNoobsFilesOlderAWeek.bat

Ist grottenhässlich, aber erfüllt Deine Anforderung.

HTH Biber
Mitglied: NoobLike
NoobLike 30.11.2005 um 08:54:25 Uhr
Goto Top
danke
Mitglied: odicin
odicin 08.07.2006 um 14:48:46 Uhr
Goto Top
"ForFiles.exe" empfehlen:
:: --- snipp DelNoobsFilesOlderAWeek.bat
@forfiles -pC:\Nooblike\ -d-8 -c"cmd /c
del @File"
:: --- snapp DelNoobsFilesOlderAWeek.bat

Nun ich habe das gleiche Problem und wollte genanntes Schnittchen ;) mal ausprobieren. Leider akzeptiert forfiles beim Datumsparamater nicht die -8. Gibt es da vielleicht unterschiedliche Versionen?

Gruß Odi
Mitglied: Biber
Biber 08.07.2006 um 16:05:20 Uhr
Goto Top
.. ich kenne nur die Version 1.1 und habe NIE Lust verspürt, weitere Versionen anzutesten.

Das Teil ist so abseits jeglicher Programmier-Konventionen programmiert...*schauder*

Dennoch: bei mir klappt es:
>y:\_1\forfiles -pY:\_1\ -d-8 -c"cmd /c echo  @FILE @FDATE"  
 Cliptray.txt 20050503
 Forfiles.exe 19990213
...ind das sind auch die einzigen Dateien in diesem Ordner, die älter als 8 Tage sind.

Einen Workaround muss Du machen bei Dateien "ab gestern", aber beim Parameter "-d-8" gibts keine Probleme.
Gruß
Biber
Mitglied: odicin
odicin 08.07.2006 um 16:16:59 Uhr
Goto Top
.. ich kenne nur die Version 1.1 und habe NIE
Lust verspürt, weitere Versionen
anzutesten.

Tja, dann ist meine wohl 1.0 ;)

Das Teil ist so abseits jeglicher
Programmier-Konventionen
programmiert...*schauder*

Hehe... manchmal heiligt der Zweck die Mittel ;)

Einen Workaround muss Du machen bei Dateien
"ab gestern", aber beim Parameter
"-d-8" gibts keine Probleme.

Hmm... ich habe meine von hier:
f*p://ftp.microsoft.com/Services/TechNet/samples/PS/Win98/Reskit/SCRPTING/

und mit der geht es leider definitiv nicht. Wäre es möglich wenn du mir Deine irgendwie zukommen/zur Verfügung stellen könntest?

Gruß Odi
Mitglied: Biber
Biber 08.07.2006 um 16:21:26 Uhr
Goto Top
Mitglied: odicin
odicin 08.07.2006 um 16:29:38 Uhr
Goto Top
Danke schön. Und mit der gehts jetzt auch. Meine is wohl wirklich ne frühere Version.

Gruß Odi
Mitglied: Biber
Biber 10.07.2006 um 08:25:24 Uhr
Goto Top
Moin Göran,

dann werde glücklich mit der ForFiles.exe... face-wink

Ich schließe trotzdem diesen Thread, bevor noch mehr Fragen zu diesem M$-Sahnestück kommen... denn eigentlich war ForFiles in diesem Thread auch nur eine Fussnote oder Randbemerkung... nicht die empfohlene Lösung.

Stressarmen Wochenbeginn wünscht
Biber