In Unterverzeichnissen alle Dateien mit Ausnahme der jeweils größten Datei löschen
Liebe Experten,
könnte mir jemand bei folgendem Problem mit einer Batchdatei helfen?
Ich möchte aus einem Verzeichnis das mehrere Unterverzeichnisse enthält , aus allen Unterverzeichnissen alle Dateien mit Ausnahme der jeweils größten ( in dem jeweiligen Unterverzeichnis) Löschen... so das jeweils nur eine Datei je Unterverzeichnis erhalten bleibt? Die Unterverzeichnisse enthalten jeweils gleich viele Dateien...
Vielen Dank und ein gutes Neues Jahr!
Peter
PS: (Handelt sich um Fotos einer Überwachungskamera die einen Heizungszähler fotografiert, dessen Anzeige leider nur alle 5 Sekunden für 1 Sekunde ablesbar ist, daher speichern wir täglich ca 50 Bilder von denen wir nur eines ( auf dem die Anzeige lesbar ist) archivieren müssen. Bilder auf denen die Anzeige lesbar ist, sind etwas größer als die, auf denen die Anzeige blank ist ( wg der höheren dunklen Bildanteile) daher kann man über die Filegröße entscheiden, welches Bild behalten werden muss)
könnte mir jemand bei folgendem Problem mit einer Batchdatei helfen?
Ich möchte aus einem Verzeichnis das mehrere Unterverzeichnisse enthält , aus allen Unterverzeichnissen alle Dateien mit Ausnahme der jeweils größten ( in dem jeweiligen Unterverzeichnis) Löschen... so das jeweils nur eine Datei je Unterverzeichnis erhalten bleibt? Die Unterverzeichnisse enthalten jeweils gleich viele Dateien...
Vielen Dank und ein gutes Neues Jahr!
Peter
PS: (Handelt sich um Fotos einer Überwachungskamera die einen Heizungszähler fotografiert, dessen Anzeige leider nur alle 5 Sekunden für 1 Sekunde ablesbar ist, daher speichern wir täglich ca 50 Bilder von denen wir nur eines ( auf dem die Anzeige lesbar ist) archivieren müssen. Bilder auf denen die Anzeige lesbar ist, sind etwas größer als die, auf denen die Anzeige blank ist ( wg der höheren dunklen Bildanteile) daher kann man über die Filegröße entscheiden, welches Bild behalten werden muss)
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 258778
Url: https://administrator.de/forum/in-unterverzeichnissen-alle-dateien-mit-ausnahme-der-jeweils-groessten-datei-loeschen-258778.html
Ausgedruckt am: 16.05.2025 um 19:05 Uhr
2 Kommentare
Neuester Kommentar
Hallo Peter,
etwa so:
In Zeile 2 bringst du das Hauptverzeichnis. Der Code Löscht noch nichts, sondern zeigt dir nur die Dateien an die gelöscht würden.
Wenn die richtigen Dateien gefunden werden, entferne ECHO und ggf. PAUSE.
Eventuell kannst du in Zeile 4 auch statt *.* noch auf bspw. *.jpg einschränken falls sich noch andere Dateitypen im Verzeichnis befinden die du nicht verarbeiten willst.
Grüße
rubberman
etwa so:
@echo off &setlocal
set "basedir=C:\irgendwo"
for /d %%i in ("%basedir%\*") do (
for /f "skip=1 delims=" %%j in ('dir /a-d /b /o-s "%%~i\*.*"') do ECHO del "%%~i\%%j"
)
PAUSE
Wenn die richtigen Dateien gefunden werden, entferne ECHO und ggf. PAUSE.
Eventuell kannst du in Zeile 4 auch statt *.* noch auf bspw. *.jpg einschränken falls sich noch andere Dateitypen im Verzeichnis befinden die du nicht verarbeiten willst.
Grüße
rubberman