BAT Datei zum Löschen bestimmter Dateien nach Muster in mehreren Ordnern und Unterordnern
Hallo Forum!
folgende Konstellation:
nach mehr oder weniger erfolgreicher Datenrettung habe ich knapp 400 GB an Daten. Darunter ist auch viel Müll, welche ich zum großen Teil schon beseitigt habe. Leider sind bei der Rettung von Bildern auch viele Bilder mit der Größe von unter 100kb wiederhergestellt worden; da ich weiß, dass die relevanten Bilder größer sind, möchte ich diese (circa 500.000) automatisch löschen. Durch google habe ich jedenfalls schon einmal den Befehl für einen Ordner zusammen bekommen:
for %%i in ("H:\*.jpg") do if %%~zi lss 100000 del "%%i"
Da ich leider keine Ahnung von der Scriptsprache habe brauche ich bei folgendem Punkt Hilfe:
wie muss dieser Teil umgeschrieben werden, dass alle ~4.000 Ordner in H:\ sowie die ggf. vorhandenen Unterordner automatisch angesteuert werden?
Vielen Dank schon mal im Voraus!
Gruß
Andreas
folgende Konstellation:
nach mehr oder weniger erfolgreicher Datenrettung habe ich knapp 400 GB an Daten. Darunter ist auch viel Müll, welche ich zum großen Teil schon beseitigt habe. Leider sind bei der Rettung von Bildern auch viele Bilder mit der Größe von unter 100kb wiederhergestellt worden; da ich weiß, dass die relevanten Bilder größer sind, möchte ich diese (circa 500.000) automatisch löschen. Durch google habe ich jedenfalls schon einmal den Befehl für einen Ordner zusammen bekommen:
for %%i in ("H:\*.jpg") do if %%~zi lss 100000 del "%%i"
Da ich leider keine Ahnung von der Scriptsprache habe brauche ich bei folgendem Punkt Hilfe:
wie muss dieser Teil umgeschrieben werden, dass alle ~4.000 Ordner in H:\ sowie die ggf. vorhandenen Unterordner automatisch angesteuert werden?
Vielen Dank schon mal im Voraus!
Gruß
Andreas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 305306
Url: https://administrator.de/forum/bat-datei-zum-loeschen-bestimmter-dateien-nach-muster-in-mehreren-ordnern-und-unterordnern-305306.html
Ausgedruckt am: 14.05.2025 um 19:05 Uhr
3 Kommentare
Neuester Kommentar

@echo off
powershell -Executionpolicy ByPass -Command "gci 'H:\' -recurse -Filter *.jpg | ?{!$_.PSIsContainer -and $_.Length -lt 100kb} | remove-item -Force -Verbose"
Moin AndreasGi,
ich finde, du warst schon ganz nah dran.
Demo am CMD-Prompt:
Die Demo-Zeile listet erstmal nur mit "@echo Del" alles auf, was sie löschen würde.
Wenn das Ergebnis deinen Wünschen entspricht, das "@echo" weglassen.
Grüße
Biber
ich finde, du warst schon ganz nah dran.
Demo am CMD-Prompt:
C:\Users\Biber>for /r "H:\" %i in ("*.jpg") do @if %~zi LSS 100000 @echo Del "%i", weil %~zi ^< 100000
Die Demo-Zeile listet erstmal nur mit "@echo Del" alles auf, was sie löschen würde.
Wenn das Ergebnis deinen Wünschen entspricht, das "@echo" weglassen.
Grüße
Biber