GELÖST alle Dateien automatisch löschen ausser die jüngste?!?

Diskutiere alle Dateien automatisch löschen ausser die jüngste?!? im WinXP - Allgemeines Forum im Bereich Windows XP Forum; Hallo! Ich würde gerne automatisch (per Taskplaner) alle Dateien eines bestimmten Ordners ausser die Jüngste löschen lassen. Hat jemand eine...
B

biker3105

Threadstarter
Mitglied seit
09.10.2007
Beiträge
238
Standort
Tief im Westen
Hallo!

Ich würde gerne automatisch (per Taskplaner) alle Dateien eines bestimmten Ordners ausser die Jüngste löschen lassen.

Hat jemand eine Idee wie ich das anstelle?

Es gibt ja Programme, die löschen Dateien nach einer bestimmten Anzahl von Tagen, das hilft nicht, da es sein kann, dass die Dateien nicht so oft erstellt werden. Wenn nun das PRogramm nach z.B. 2 Tagen die Datei löscht, wäre auch die letzte Datei weg. Deswegen soll immer die jeweils jüngste Datei bestehen bleiben.

Gibt es soetwas?

Vielen Dank schon einmal!!
 
K

Khyrana

Mitglied seit
22.09.2009
Beiträge
220
Hi,

vielleicht solltest du diese bestimmte Datei, die in dem Ordner drin ist, generell immer nur mit dem selben Namen versehen wenn du sie reinspeicherst, dann wirst Du automatisch immer eine vorhandene "alte" mit der neu abzuspeichernden "jungen" Datei überschreiben, und hast nur immer die aktuellste Datei vorliegen.

lg

Khy
 
Bullayer

Bullayer

Schwergewicht
Mitglied seit
19.07.2006
Beiträge
24.149
Standort
DE-RLP-COC
Ist in dem jeweiligen Dateinamen ein Timestamp?
 
B

biker3105

Threadstarter
Mitglied seit
09.10.2007
Beiträge
238
Standort
Tief im Westen
Hallo!

An den Dateinamen kann ich leider nichts ändern.

Ja in den Dateinamen ist das Datum hinterlegt.

z.B:
db_201006231800.BAK

@Bullayer
Hast du eine Idee?
 
automatthias

automatthias

vernunftgeplagt
Mitglied seit
21.04.2006
Beiträge
7.845
Batchdatei mit folgendem Befehl:

for /f "usebackq skip=1 delims==" %i IN (`dir /b /o-d`) do @del %i

(ohne Gewähr; getestet nur mit @echo statt @del) ;-)
 
B

biker3105

Threadstarter
Mitglied seit
09.10.2007
Beiträge
238
Standort
Tief im Westen
@automatthias

Ich habe das mal eingetippt.

Leider sind die Dateien immer noch da.

folgendes erscheint:
"Dateiname" konnte nicht gefunden werden.

Komisch?!?
 
B

biker3105

Threadstarter
Mitglied seit
09.10.2007
Beiträge
238
Standort
Tief im Westen
Hi!

also direkt eingetippt (CMD) funktioniert es!
Leider in eine Batch Datei eingefügt sind alle dateien noch da ?!?:wut



PS. Darf ich mal fragen wie man auf so einen Befehl (Syntax) kommt? Sowas habe ich noch nie gesehen....
 
B

biker3105

Threadstarter
Mitglied seit
09.10.2007
Beiträge
238
Standort
Tief im Westen
Hallo Andy,
habe mir gerade mal die Optionen von delage angeschaut, dort kann ich aber nur nach Alter löschen, da ich ja nie genau weiß, welches Alter die Dateien haben könnte das gefährlich werden. Oder gibt es da eine Option für meine Anforderung?
 
automatthias

automatthias

vernunftgeplagt
Mitglied seit
21.04.2006
Beiträge
7.845
Hi!
also direkt eingetippt (CMD) funktioniert es!
Leider in eine Batch Datei eingefügt sind alle dateien noch da ?!?:wut
Innerhalb der Batchdatei musst Du, glaube ich, %%i statt %i verwenden.

PS. Darf ich mal fragen wie man auf so einen Befehl (Syntax) kommt? Sowas habe ich noch nie gesehen....
:D
Ich habe halt die ganze DOSenzeit noch mitgemacht; der Rest kommt vom Kommando "help"
 
Andy

Andy

Administrator
Team
Mitglied seit
16.08.2001
Beiträge
12.370
Alter
44
Standort
Wilder Süden
stimmt, könnte mit delage32 ein Problem werden.
In dem Fall dann wohl leider nicht geeignet :nomatter
 
K

Khyrana

Mitglied seit
22.09.2009
Beiträge
220
Hi,

da ich ja nie genau weiß, welches Alter die Dateien haben
hm .. das weißt Du doch anhand des Dateinamens, oder ?

Ja in den Dateinamen ist das Datum hinterlegt.

z.B:
db_201006231800.BAK
...in dem Fall also um 18:00 uhr am 23.06.2010...

und das vorgeschlagene DELAGE32-Tool geht ja soweit ich das lese wahlweise von dem Zeitpunkt der letzten Änderung ( "/modified" ) aus, und solange Du keine dieser *.BAK's irgendwie öffnest und etwas dort drinnen änderst, ist ja auch der Zeitpunkt, als die Datei angelegt wurde = Zeitpunkt der letzten Änderung, ne ? der Tipp ist wohl doch brauchbar für Deine Belange :)
das Programm, welches die *.BAK's erzeugt kannste ja einmal manuell starten, und im Anschluß das DELAGE32-Tool, mit der Angabe alle Dateien "die älter sind als 1 Tag" zu löschen ...

...wobei es sich mir einfacher und sicherer erscheinen würde, Du öffnest den besagten Ordner, markierst alle Dateien mit Ausnahme der jüngsten (so wie es sich mir darstellt, der "untersten" in diesem Ordner drin) und löschst sie mit zwei Tasten: [Entf] und dann [Enter], bevor du vielleicht mit einem Vertippsler völlig andere Daten ungewollt löschst :)

lG

Khy :)
 
B

biker3105

Threadstarter
Mitglied seit
09.10.2007
Beiträge
238
Standort
Tief im Westen
Innerhalb der Batchdatei musst Du, glaube ich, %%i statt %i verwenden.


:D
Ich habe halt die ganze DOSenzeit noch mitgemacht; der Rest kommt vom Kommando "help"

@automatthias
Nun klappt es! VIELEN Dank!

Ist schon klasse was DOS alles so konnte/kann ...

Hi,





hm .. das weißt Du doch anhand des Dateinamens, oder ?



...in dem Fall also um 18:00 uhr am 23.06.2010...

und das vorgeschlagene DELAGE32-Tool geht ja soweit ich das lese wahlweise von dem Zeitpunkt der letzten Änderung ( "/modified" ) aus, und solange Du keine dieser *.BAK's irgendwie öffnest und etwas dort drinnen änderst, ist ja auch der Zeitpunkt, als die Datei angelegt wurde = Zeitpunkt der letzten Änderung, ne ? der Tipp ist wohl doch brauchbar für Deine Belange :)
das Programm, welches die *.BAK's erzeugt kannste ja einmal manuell starten, und im Anschluß das DELAGE32-Tool, mit der Angabe alle Dateien "die älter sind als 1 Tag" zu löschen ...

...wobei es sich mir einfacher und sicherer erscheinen würde, Du öffnest den besagten Ordner, markierst alle Dateien mit Ausnahme der jüngsten (so wie es sich mir darstellt, der "untersten" in diesem Ordner drin) und löschst sie mit zwei Tasten: [Entf] und dann [Enter], bevor du vielleicht mit einem Vertippsler völlig andere Daten ungewollt löschst :)

lG

Khy :)
@khy
Hi!
DELAGE32 ist trotzdem nicht so doll, da ich nicht weiss ob es jeden Tag eine Datei gibt und dadurch könnte mir meine "letzte" Datei doch gelöscht werden...

das manuelle Löschen mache ich ja jetzt schon, aber 20 Ordner manuell löschen nervt mit der Zeit ;)

Danke trotzdem!
 
automatthias

automatthias

vernunftgeplagt
Mitglied seit
21.04.2006
Beiträge
7.845
@automatthias
Nun klappt es! VIELEN Dank!

Ist schon klasse was DOS alles so konnte/kann ...
Na ja, diese erweiterte Syntax ist erst bei NT hinzugekommen.
Der Parameter usebackq ist aus der Unix-Welt übernommen, wo es gang und gäbe ist, Kommandos zu verschachteln.

Hier wird also zuerst mit DIR eine Verzeichnisliste erzeugt, /B sorgt dafür, dass nur die Namen ohne Kopf- und Fußzeilen erscheinen, /O-D ist für die Anordnung zuständig, sodass die jüngste Datei oben steht.
Über die so erhaltene Namensliste läuft dann eine Schleife ab, die das erste Element überspringt (skip=1), und auf die anderen Elemente das DELete-Kommado anwendet.
Der Parameter delims== bedeutet, dass das "=" als Trennzeichen genommen wird (weil es sonst bei Dateinamen mit Leerzeichen nicht geht). Solltest Du also eine Datei mit Gleichheitszeichen im Namen haben, geht die Batchdatei an der Stelle nicht.
 
B

biker3105

Threadstarter
Mitglied seit
09.10.2007
Beiträge
238
Standort
Tief im Westen
Na ja, diese erweiterte Syntax ist erst bei NT hinzugekommen.
Der Parameter usebackq ist aus der Unix-Welt übernommen, wo es gang und gäbe ist, Kommandos zu verschachteln.

Hier wird also zuerst mit DIR eine Verzeichnisliste erzeugt, /B sorgt dafür, dass nur die Namen ohne Kopf- und Fußzeilen erscheinen, /O-D ist für die Anordnung zuständig, sodass die jüngste Datei oben steht.
Über die so erhaltene Namensliste läuft dann eine Schleife ab, die das erste Element überspringt (skip=1), und auf die anderen Elemente das DELete-Kommado anwendet.
Der Parameter delims== bedeutet, dass das "=" als Trennzeichen genommen wird (weil es sonst bei Dateinamen mit Leerzeichen nicht geht). Solltest Du also eine Datei mit Gleichheitszeichen im Namen haben, geht die Batchdatei an der Stelle nicht.

toll, so was möchte ich auch können.. :aah Gibt es irgendwelche Übersichten darüber, da wir sicher einiges interessantes für mich dabei sein...
 
automatthias

automatthias

vernunftgeplagt
Mitglied seit
21.04.2006
Beiträge
7.845
toll, so was möchte ich auch können.. :aah Gibt es irgendwelche Übersichten darüber, da wir sicher einiges interessantes für mich dabei sein...
1. Hilfe- und Supportcenter öffnen.
2. Suche nach "Eingabeaufforderung". Bei den Ergebnissen der Volltextsuche gibt es eine "Übersicht über die Eingabeaufforderung"
3. Suche nach "Befehlszeilenreferenz". Liefert eine Übersicht über alle Befehle A-Z mit jeweiligen Links, z.B. zum DIR-Kommando.

Oder die Datei C:\WINDOWS\Help\ntcmds.chm öffnen.
 
K

Khyrana

Mitglied seit
22.09.2009
Beiträge
220
Huhu :)

da ich nicht weiss ob es jeden Tag eine Datei gibt
deswegen hab ich ja gemeint, das betreffende Programm (welches diese Dateien anlegt) einmal manuell starten, dann hast Du hinterher eine aktuelle *.BAK-Datei vom selben Tag; aber so ist die Lösung ja viel eleganter :)
...noch schöner wärs ja von vornherein, wenn das böse Programm eine Option hätte, mit welcher man selbst aussuchen könnte, ob eine vorhandene .BAK-Datei mit der neusten überschrieben werden soll... *g*

aber mal für DOS-unbedarfte wie mich, wie wendet man das eigentlich an ?
diesen Befehl als Batch-Datei zu schreiben krieg ich ja noch hin (Editor öffnen und danach als .bat anstatt .txt speichern, oder?), aber dann ?
muß die Batch-Dabei in dem betreffenden Ordner drin sein, in dem diese ungewünschten Dateien gelöscht werden sollen ? :unsure
wie ginge es denn weiter, wenn ich nun diese Batch-Datei irgendwo auf der Festplatte hab ?

l.g.

Khy :)
 
automatthias

automatthias

vernunftgeplagt
Mitglied seit
21.04.2006
Beiträge
7.845
aber mal für DOS-unbedarfte wie mich, wie wendet man das eigentlich an ?
diesen Befehl als Batch-Datei zu schreiben krieg ich ja noch hin (Editor öffnen und danach als .bat anstatt .txt speichern, oder?), aber dann ?
Gute Frage.
Also, für Batchdateien gilt im Prinzip dasselbe wie für andere Programme, die man aus der Kommandozeile heraus starten will: sie müssen in einem Verzeichnis liegen, das im so genannten Suchpfad enthalten ist.
Wenn man auf der Kommandozeile das Kommando "set" eingibt, sieht man alle Umgebungsvariablen, die gesetzt sind. Die Variable PATH ist der Suchpfad.
Um hier etwas dauerhaft hinzuzufügen, verwendet man Arbeitsplatz-->rechte Maustaste-->Eigenschaften-->Erweitert-->Umgebungsvariablen (userbezogen oder systembezogen). Bei einem neuen Aufruf der Eingabeaufforderung sind die geänderten Werte gültig.

Damit die Dateien im richtigen Verzeichnis gelöscht werden, setzt man vor die FOR-Schleife eine Zeile mit dem Change-Directory-Befehl:
cd \dateipfad\zielverzeichnis

Bei mehreren Partitionen/Platten sollte man zur Sicherheit noch auf die richtige Platte wechseln, ganz einfach eine Zeile mit Laufwerksbuchstaben und Doppelpunkt, z.B.
E:

Für weitere Informationen siehe die erwähnte Datei ntcmds.chm.
 
Thema:

alle Dateien automatisch löschen ausser die jüngste?!?

Sucheingaben

batch alle bis auf den neuesten ordner löscen

alle Dateien automatisch löschen ausser die jüngste?!? - Ähnliche Themen

  • Warum werden Temp-Dateien automatisch gelöscht?

    Warum werden Temp-Dateien automatisch gelöscht?: Auf meinen zwei neue Rechnern ist jetzt Windows 10 installiert, statt wie auf den alten Rechnern Windows 7. Alles läuft wieder sehr gut. Auch das...
  • Papierkorb und temporäre Dateien nach Zeitplan automatisch löschen lassen unter Windows 10

    Papierkorb und temporäre Dateien nach Zeitplan automatisch löschen lassen unter Windows 10: Der Papierkorb ist zwar an sich schon recht nützlich, da man eben wie aus einem echten Papierkorb vielleicht das eine oder andere Wichtige doch...
  • Outlook entschlüsselt automatisch verschlüsselte angehängte Dateien

    Outlook entschlüsselt automatisch verschlüsselte angehängte Dateien: Hallo, Ich habe eine Datei mit meinem Nutzer-Account verschlüsselt. Könnte mir jemand hier bitte erklären, warum wird diese Datei bei einer...
  • Sound-Datei in PowerPoint Präsentation automatisch abspielen - So einfach funktioniert es!

    Sound-Datei in PowerPoint Präsentation automatisch abspielen - So einfach funktioniert es!: Es ist vielleicht nicht bei jeder Gelegenheit passend, aber so manches Mal kann es durchaus angebracht sein in seiner Bildschirmpräsentation ein...
  • Automatischer Empfang von Bluetooth Dateien

    Automatischer Empfang von Bluetooth Dateien: Guten Tag, wenn ich Dateien von meinem Smartphone an das Win10-Laptop schicken möchte, muss ich jedes Mal zuvor manuelle auf das Bluetooth...
  • Similar threads

    Oben