atphoenix

Sobald mehr als 3 Dateien in einem Ordner sind, erste Datei löschen

Hallo zusammen,

ich bin ein totaler Neuling im Bereich Batch und darum wollte ich hier mal fragen ob ihr mir vielleicht helfen könnt.
Ich benötige für meine Access Datenbank eine Batch-Datei die selbstständig Backups nach dem schließen der Datenbank erstellt. Das mit dem Backup erstellen hab ich schon hinbekommen, jetzt haperts aber nur noch daran, dass ich nicht unendlich viele Backups haben möchte.
Darum wollte ich mal fragen, ob es möglich ist eine Batch-Routine zu schreiben die sobald mehr als 3 Dateien in einem Ordner sind, die Datei an der 1. Position löscht. Da ich wirklich nicht viel Ahnung von Batch habe, wäre ich euch sehr dankbar, wenn ihr mir da helfen könntet.


MfG
Alex
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 104484

Url: https://administrator.de/forum/sobald-mehr-als-3-dateien-in-einem-ordner-sind-erste-datei-loeschen-104484.html

Ausgedruckt am: 10.05.2025 um 10:05 Uhr

bastla
bastla 19.12.2008, aktualisiert am 18.10.2012 um 18:36:42 Uhr
Goto Top
Hallo atphoenix und willkommen im Forum!

Wenn ich Deine Aufgabenstellung etwas umformuliere, könnte die Anweisung lauten: "Lösche alle Dateien (eines bestimmten Typs) außer den drei jüngsten" - und derartiges (allerdings mit etwas mehr als 3 Dateien) hatten wir etwa hier ...

Grüße
bastla
60730
60730 19.12.2008 um 18:40:08 Uhr
Goto Top
Servus,

auch wenn Bastla deine Anforderung schon "verbessert" hat - stelle ich trotzdem dein Vorhaben als solches in Frage.

Ein Backup von einer Access DB ist schön und gut, aber dann auf diesen Komfort zu vrezichten und nur noch auf 3 Zustände zurückgreifen zu können, wäre mir perönlich dann das ganze schreiben der Backuplösung nicht wert.

Von daher mein Tipp - wenn das Tabelleninhalte sind, die kannst du wunderbar "klein" machen, ohne Ihren nhalt zu verlieren,

Von daher besorg dir 7Zip und arbeite <b>7za <b>in dein bestehendes Script mit ein.
Dann das ganze noch mit einer Dateinamen & Ordnerstruktur versehen, aus der das jeweilige Datum ersichtlich ist - fertig ist der Lack.

Ps: Die fett geschrieben Worte sind deine Stichwörter für die Suchfunktion.

Gruß
atphoenix
atphoenix 19.12.2008 um 19:56:01 Uhr
Goto Top
@bastla ich danke dir für den link, den werd ich nacher gleich mal anschauen und ausprobieren

@timobeil naja ich Backupe die ganze DB also mit Front und Backend, diese Vorgehensweise ist nich meine Idee die wünsch mein Prof so... Da es sich bei der Datenbank um eine Studienarbeit handelt, sollte ich da auf die Wünsche meines Profs eingehen und der wünscht halt u.a. nur 3 Backups der kompletten DB zu behalten, ob das sinnvoll ist oder nicht, will ich mal dahin gestellt lassen...

MfG
Alex
Devian
Devian 19.12.2008 um 22:17:30 Uhr
Goto Top
deldate könnte dir in Verbindung mit dem Taskplaner hilfreich sein.
atphoenix
atphoenix 20.12.2008 um 01:16:32 Uhr
Goto Top
Ich hätte jetzt noch 2 Fragen bezüglich der Code Zeile.

Wie kann ich da Dateien löschen die sich in einem anderen Verzeichnis befinden als in dem wo sich die Batch-Datei befindet ?

Wie kann ich einen Ordner löschen in dem sich die einzelnen Backups befinden?

Vielen Dank schon mal für deine Hilfe

MfG
Alex
Biber
Biber 20.12.2008 um 01:58:49 Uhr
Goto Top
Moin alphoenix,

Frage 1)
for /f "skip=3 delims=" %%i in ('dir d:\MDBBackup\*.* /b /o-d /a-d') do @echo del "d:\MDBBackup\%%i"  
Frage 2)
Ordner löschen mit dem Befehl RD. Siehe RD /? am CMD-Prompt.

Grüße
Biber
atphoenix
atphoenix 20.12.2008 um 11:09:08 Uhr
Goto Top
Moin Biber, danke für die Antwort.

Ich seh gerade ich hab mich da etwas unklar ausgedrückt, ich wollte mit der Befehlszeile Ordner + deren Inhalt löschen und nicht nur Dateien. Wie man so einen ordner löscht, weiß ich :D

MfG
Alex
bastla
bastla 20.12.2008 um 11:57:52 Uhr
Goto Top
Hallo atphoenix!

Dann analog:
for /f "skip=3 delims=" %%i in ('dir d:\MDBBackup /b /o-d /ad') do @echo rd /s /q "d:\MDBBackup\%%i"
Grüße
bastla
atphoenix
atphoenix 21.12.2008 um 01:49:08 Uhr
Goto Top
Hallo bastla, ich danke dir vielmals für deine Hilfe.

MfG
Alex