Lösche alle Dateien ausser Jüngste per Befehlszeile, Script oder CMD.EXE?
Es ist einfach, das Löschen aller Dateien außer Jüngste per Befehlszeile, Skript oder CMD.EXE (für Windows 11, 10, ... und MS Server)!
Der beliebteste Script um zum Beispiel alle Dateien mit der Endung *.txt zu Löschen und die Jüngsten 7 Dateien zu behalten, die man dann per Autostart oder den Zeitplaner unter Windows recht einfach automatisieren kann, oder direkt über die Adressleiste des Windows Explorer ausführen kann!
for /f "skip=7 eol=: delims=" %F in ('dir /b /o-d /a-d *.txt') do @del "%F"
Für die *.bat Datei:
for /f "skip=7 eol=: delims=" %%F in ('dir /b /o-d /a-d *.txt') do @del "%%F"
Kurze Erklärung was hier eigentlich passiert!
Mit dem Abschnitt dir /b /o-d /a-d *.txt
Hiermit werden die *.txt Dateien aufgelistet. Das /o-d steht für das Auflisten nach Datum -d = Jüngste zuerst, diese Liste wird in %F gespeichert, bzw. abgelegt!
4.) ... Beispiel um die FRITZ*.*export Dateien zu löschen außer Jüngste 7!
:: -- Aktuelles Verzeichnis merken
set mypath=%cd%
set FRITZ="C:\Users\%username%\Programmdaten\AVM\"
set DATEN_FILTER="*FRITZ*.*export"
:: -- Wechseln in das Verzeichnis, in dem die Daten gelöscht werden sollen
cd /d %FRITZ%
:: -- Löschen alle *FRITZ*.*export, Sortierungen nach Datum rückwärts und die ersten 7 auslassen
for /f "skip=7 eol=: delims=" %%F in ('dir /b /o-d /a-d %DATEN_FILTER%') do @del "%%F"
:: -- Zurück zum altem Verzeichnis
cd /d %mypath%
FAQ 106: Aktualisiert am: 2 Juni 2022 20:50Windows
Es ist einfach Dateien stapelweise per Skript oder Eingabeaufforderung in Klein- und / oder Groß-Buchstaben umzubenennen Jeder sucht oder braucht irgendwann
über die Eingabeaufforderung ist es einfach die PC Seriennummer und Hersteller herauszufinden unter Windows 11, 10, und MS Server OS Jeder hat schonmal ►
Ich habe mehrere Programme, die täglich irgendwelche Sicherungs- oder Protokoll-Dateien in Verzeichnisse speichern. Ich habe so ein Mini-Progrämmchen DelAge32.exe, das sämtliche Dateien älter als z. B. 7 Tage löscht. Das funktioniert prima, außer wenn ich mal länger als 7 Tage nicht am Rechner bin. Dann ist das Verzeichnis beim ersten Hochfahren danach leer. Deshalb suche ich ein Werkzeug, das die letzten 7 Dateien unangetastet lässt und alle älteren löscht. Habe ich es jetzt verständlich beschrieben?
Dazu braucht man keine Programier-Kenntnisse Also, Daten in einem Ordner sollen gelöscht werden die jünger sind als xxx Tage - Stunden?
Werkzeuge, die Dateien älter als ein Datum löschen, gibt es einige, auch per Kommandozeile. Ich suche etwas, das Dateien bis auf die n jüngsten löscht. Vermutlich für Profis kein großer Programmieraufwand?
Das ist unterschiedlich. Wenn es ein Skript wird, kann ich es sicher selbst anpassen, wenn ein kompiliertes Programm, sollte es eine Eingabemöglichkeit für den Dateityp geben.