schikopix
Goto Top

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)

Content-Key: 258778

Url: https://administrator.de/contentid/258778

Printed on: April 19, 2024 at 08:04 o'clock

Member: rubberman
Solution rubberman Jan 01, 2015, updated at Jan 02, 2015 at 11:04:12 (UTC)
Goto Top
Hallo Peter,

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
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
Member: schikopix
schikopix Jan 02, 2015 at 11:08:12 (UTC)
Goto Top
Hallo rubberman,

einfach perfekt !

works like a charm..

allerherzlichsten Dank dafür!

Peter