andreasgi

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
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

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

129413
129413 25.05.2016 aktualisiert um 13:11:31 Uhr
Goto Top
@echo off
powershell -Executionpolicy ByPass -Command "gci 'H:\' -recurse -Filter *.jpg | ?{!$_.PSIsContainer -and $_.Length -lt 100kb} | remove-item -Force -Verbose"  
Gruß skybird
AndreasGi
AndreasGi 25.05.2016 um 13:40:33 Uhr
Goto Top
Da war ich ja nicht einmal ansatzweise nah dran. Vielen Dank für die schnelle Hilfe!

Gruß
Andreas
Biber
Biber 25.05.2016 um 15:27:05 Uhr
Goto Top
Moin AndreasGi,

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