PDA

Vollständige Version anzeigen : Batch der alle Dateien älter als 2 Tage im Verzeichnis löscht


tog
26.02.2004, 11:01
Hallo alle miteinander.

Ich benötige dringenst einen Batch der alle Dateien älter als 2 Tage im Verzeichnis löscht...

Und zwar läuft das bei mir so ab:

Mein Batch- kopiert momentan mein täglich erstelltes Backup (.bak-File)meiner Datenbank immer in das Verzeichnis : C:\Backup.

So mit der Zeit sammeln sich da natürlich einige Bytes an (pro Tag ca. 2 MB).

Nun brauche ich halt nur noch die Dateien, die nicht älter als zwei Tage sind und möchte sie automatisch mit einem Batch löschen.

Könnt Ihr mir da helfen oder nen Vorschlag machen ?

MfG

Töbi

Khelben
26.02.2004, 11:11
Mit ner Batch ist das recht schwierig zu lösen, ich habs damals nich geschafft und mir was mit VB 6 gestrickt. Wenn Du willst schick ich dir das. Entweder hartverdrahtet, dass immer nur das Verzeichnis C:\Backup betroffen ist und alle Dateien älter als 2 Tage löscht oder per ini-File konfigurierbar. Letzteres dauert aber en Tach oder 2, da ich das noch einbinden müßte. Ersters ginge mehr oder weniger umgehend, wenn ich deine eMail-Adresse bekomme.

Gruß

Markus

Khelben
26.02.2004, 12:49
Der Italiener hatte heute nur kleine Pizzen und somit hatte ich in der Pause ein bisschen Zeit ;) Ich hoffe das hilft dir weiter. Du kannst in der Ini-Datei den Pfad und die Tage angeben. Ich hoffe es hilft dir weiter. Teste es bitte aber erstmal bevor du es auf deine Echtdaten los läßt

Gruß

Markus

tog
26.02.2004, 16:34
Hi Markus,

werde die Sache gleich mal ausprobieren und geb Dir dann Bescheid ob ich hinkriegen tu oder nette.

Bei mir tut die E-Mail-Benachrichtigung bei Foreneintrag noch nicht ganz so richtig...

Bis dorthin schon mal Danke bzw. mille grazi oder so...

MfG

Tobi

tog
26.02.2004, 16:48
Spitze !!!!

Genau das hab ich gesucht !

Sollte aber noch wissen welche Prozeduren bzw. Module Du verwendest und wie ich das Ganze mir Access 2000 VBA- mäßig öffnen kann...

Kannste mir kurz noch sagen wie?

Danke Dir.

MfG

Tobi

Khelben
26.02.2004, 17:09
Freut mich das es funzt.

Ich hab das mit VB 6 gestrickt und glaube nicht, dass du es unter Access VBA zum rennen bekommst. Warum muss es denn darunter laufen? Reicht es nicht, wenn du es automatisiert in den Taskplaner mit reinmachst?

Gruß

Markus

tog
26.02.2004, 17:59
Hab vor lauter Testen das "Verzeichnis=c:\backup\" überlesen. Kann man ja nach eigenen Wünschen anpassen... Passt daher schon...

Leuchtet mir schon ein- kenn mich halt nur Access 2000- mäßig aus...

Wollte auf Nummer sicher gehen...

Trotzdem nochmal vielen Dank !!!!!!!!!!!!!!!!!!!!!!!!!!!

MfG

Töbi

Khelben
26.02.2004, 19:58
Gern geschehen und viel Spaß damit

gruß

Markus

tog
27.02.2004, 15:03
Hi Markus !

Habe noch ein kleines Problem:

Wenn ich loeschen.exe über den Taskplaner starte, dann bleibt im Task-Manager immer ein "Projekt1" stehen.

Kann man das irgendwie wieder wegbekommen bzw. beenden?

Wenn man z.B. nen Batch auslöst, der das Programm dann startet und wieder beendet?

MfG


Töbi

Khelben
27.02.2004, 16:22
Projekt1 ist das Programm...du kannst im Taskplaner unter Eigenschaften des Task angeben, dass er das Programm nach x Minuten beenden soll. Damit dürfte das Problem schon erledigt sein.

Gruß

Markus

tog
27.02.2004, 17:27
Danke Dir- hat gefunkt !!!!!!!!!!

Habs kurz bevor ich Deine Mail gelesen habe auch so gemacht....

Dankeeee !

Und noch en schönes Wochenende !

MfG

Töbi

Bravestar
04.03.2004, 08:17
@Khelben

Hallo Markus,

mal eine kleine Frage zu Deinem Programm, das die Daten aus einem beliebigen Ordner löscht. (Mal davon abgesehen, das ich danach schon ewigkeiten suche).
Nach welchem Datum richtet sich das Proggi denn?
Nach dem Erstell Datum was in Windows angezeigt wird?
Denn ich würde gerne wissen ob man folgendes realisieren kann.
User A erstellt Datei (01.01.03)
Legt Datei auf Server ab (02.01.04)
Datei wird nur angeschaut, also datum wird nicht verändert am 05.01.04
Nun ist die Datei ja laut reelem Datum 1Jahr alt, liegt aber erst seit 3 Tagen in einem Ordner auf dem Server. Kann man das so realisieren, das ein Programm erkennt, das wenn eine x beliebige Datei mit einem x beliebigem Datum nach x Tagen aus diesem Ordner gelöscht wird?

Khelben
04.03.2004, 10:40
Moin moin,

das Proggi geht nach dem Datum der letzten Änderung. Was noch möglich wäre nach Erstellungsdatum bzw. letztem Zugriff zu loeschen. Das könnte ich sicherlich noch einbauen sofern gewünscht.
Deine letzte Frage habe ich allerdings noch nicht so ganz verstanden. Du möchtest ein Programm haben, welches sich die Dateien eines Verzeichnisses merkt und dann ne Meldung ausgibt, wenn eine gelöscht wird, oder wie darf ich das verstehen?

Gruß

Markus

Bravestar
04.03.2004, 11:03
Hallo Markus,

ne das war eigentlich so gedacht.
Hintergrund!
Wir haben einen file Server.
Auf diesem Gibt es ein Verzeichnis Namens User!
Dort hat jeder User einen eigenen Ordner!
Dort werden verschiedenste Daten abgelegt.
Nun vergessen viele User die Daten in diesen Ordner zu löschen und ich kann ja nicht jede Woche den Inhalt von 50 Ordner löschen.
So würde ich gerne eine automatisierung einbauen, die mir ermöglicht, Daten die seit einer bestimmten Zeit in diesen Ordnern sind zu löschen.
Es darf aber nicht abhängig vom Erstellungs- oder Änderungsdatum sein.
Ich kann mir vorstellen das es sowas wohl noch nicht gibt! Und es auch schwer sein wird sowas "mal eben" zu programmieren!

Khelben
04.03.2004, 12:11
Ok, das hab ich verstanden, aber nach welchem Kriterium willst du denn sonst gehen, wenn nicht Datum? Wenn eine Datei auf dem File-Server abgelegt wird, ändert sich doch ein Datum meines Wissens doch das des letzten Zugriffs oder? Nach diesem Datum könnte man imo dann doch gehen,denn die Zugriffe sind doch letztenendes das was zählt.?! Dieses umzusetzen wäre dann relativ einfach.

Gruß

Markus

Bravestar
04.03.2004, 12:20
Hallo Markus,

okay, letzter Zugriff ist eine gute Alternative!
Du sagst das es relativ einfach ist?
Für Dich! Aber für mich nicht! ;) :confused:

Khelben
04.03.2004, 13:38
Ok, ich bastel es dir ins Programm mit rein. Wird dann im Ini-File konfigurierbar sein... :-)

Gruß

Markus

Bravestar
04.03.2004, 13:44
Das ist echt suuuper nett von Dir!

Khelben
04.03.2004, 13:58
Parameter sind im ini-File erklärt. Teste es nur bitte vor dem Echteinsatz ausführlich. Garantien werden nicht übernommen.

Viel Spaß damit :)


Gruß

Markus

Bravestar
04.03.2004, 15:01
Man ich bin heute ein wenig begriffsstutzig!
Habe Deine löschen_exe als Geplanten Task hinzugefügt nur wo soll den die INI Datei hin?
Irgendwie funzt das nicht richtig.
Habe Testweise ein Ordner namens NEU erstellt und das Systemdatum nach vorne gestellt. Aber der löscht da nix! :bawling:

Khelben
04.03.2004, 15:05
du packst beide Dateien in einen Ordner und läßt den Taskplaner auf die dort liegende Exe zugreifen.

Wenn er die Dateien in dem Ordner NEU löschen soll, mußt du das natürlich auch in dem ini-File eintragen. Standardmäßig steht der ja auf c:\backup\

Vergiss bitte den "\" am Ende nicht, der ist wichtig.

Gruß

Markus

Bravestar
04.03.2004, 16:17
Jau das funzt!
Das ist ja SUPER! DAnke!

Ähm, trau mich gar nicht zu fragen, aber kann ich damit auch mehrere Ordner gleichzeitig ansprechen? Getrennt durch ein Semikolon?

Khelben
04.03.2004, 16:44
Ähm....bisher nich.... mal gucken was sich machen läßt :) so langsam sollte ich mir überlegen Geld dafür zu nehmen :D

Gruß

Markus