Files automatisch löschen

Hallo Volks,

ich möchte auf einem NT bzw. 2000 - Rechner, Files löschen die zum Beispiel älter als drei Tage sind und zwar automatisiert. Heisst also ein Batch-Programm erstellen und das in den Scheduler eintragen - (Idee von mir) *grins*

Hat jemand ne Ahnung wie dieses Batch-Programm aussehen könnte?

Oder kennt jemand ne einfachere oder andere Lösung???

Vielen Dank für die Hilfe

Gruss Hein

Hallo Heino

  1. Das ist eine sehr vage und allgemeine Formulierung. D.h.:
    Du bindest abhängig von der Grösse der Festplatte einiges an Festplattenkapazität.
    Du musst damit rechnen das irgendwann die falschen Dateien gelöscht werden…

  2. Umsetzung
    Die Umsetzung umfassst wohl so ungefähr folgende Schritte (pseudo-code):
    2.1 Durchsuche auf n Laufwerken jedes Verzeichnis nach Dateien.
    2.2 Wenn Du eine Datei findest, lese das „zuletzt geändert Datum“ und vergleiche es mit dem Wert X
    2.3. Wenn die differenz => 3 ist, lösche sie
    2.4. Schreibe in die Logdatei wo,wann,was gelöscht wurde

Well, da kommst Du wohl mit einem Batch und Tools nicht sehr weit. Mindestens WSH würde ich da in Betracht ziehen…

Entschuldige das ich Dir nicht konkreter weiterhelfen konnte.

Grüsse Peter

Hallo Peter

erstmal Danke für deine prompte Antwort!

Also das Durchsuchen der Laufwerke kann ich mir sparen weil ich Backupdateien löschen will die immer ins gleiche Verzeichnis geschrieben werden.

Der zweite Schritt ist klar - ich werde das Datum auslesen müssen und es mit x vergleichen usw…

Dann löschen und ein log schreiben - schon klar, aber reicht mir da eine Batchprogrammierung nicht aus ??? Ich weiss nicht genau wie ich das Realisieren soll.

Was meinst du mit WSH ??? Kenn ich leider nicht bzw. sagt mir nichts…

Gruss Heino

  1. Umsetzung
    Die Umsetzung umfassst wohl so ungefähr folgende Schritte
    (pseudo-code):
    2.1 Durchsuche auf n Laufwerken jedes Verzeichnis nach
    Dateien.
    2.2 Wenn Du eine Datei findest, lese das „zuletzt geändert
    Datum“ und vergleiche es mit dem Wert X
    2.3. Wenn die differenz => 3 ist, lösche sie
    2.4. Schreibe in die Logdatei wo,wann,was gelöscht wurde

Well, da kommst Du wohl mit einem Batch und Tools nicht sehr
weit. Mindestens WSH würde ich da in Betracht ziehen…

Entschuldige das ich Dir nicht konkreter weiterhelfen konnte.

Grüsse Peter

Hallo Heine

  1. WSH
    Windows Scripting Host
    Scriptsprache. OS-Bestandtteil W2K / XP. Kann mit JScript (javascript (.js) oder vbscript (.vbs) entwickeltes Modul sein

  2. immer gleiches Verzeichnis.
    Vielleicht so:
    2.1 Xcopy hat einen Parameter „/d“, welche Dateien => diesem datum kopiert. Achtung US-Datumsformat! D.h. mit
    xcopy . /d:10-30-02 mytempdir
    hast Du in mytempdir alle Dateien die nicht gelöscht werden dürfen, weil sie nicht älter als 3 Tage sind. Danach Files im Orginal-Dir löschen und die Dateien aus mytempdir zurückschreiben.
    2.2 dynamsich
    Um das datum dynamisch zu machen, könnte man dieses als Parameter übergeben. Batch „killoldfiles.bat“ :
    xcopy . /d:%1 mytempdir
    Aufruf: killoldfiles.bat 10-30-02
    Und das ganze über einen Scheduler (z.B. AT) alle drei Tage mit
    anderem Parameter (Datum) aufrufen…

Das ist nur so eine spontane Idee! Ich hoffe, dass es Dich weiterbringt.

Grüsse Peter

Problem gelöst?
Grüsse Peter

So gut wie!!

Danke Peter