Wie kann ich mit einer Batch-Datei mehrere Ordner mit bestimmter Endung löschen?

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Direkt kann man keine Wildcards für rd angeben. (...und das ist gut so, ein rd /s /q d:\* wäre ebenso verheerend wie Format d: !)

Wir lassen for /d alle Ordner im BasisOrdner Auflisten und übergeben diese an den RD -Befehl... so bekommt rd nor komplette Namen zu sehen...

@echo off
  rem Umlaute erlauben
chcp 65001 >nul
  rem  hier  den Basisordner angeben in dem  die zu löschenden Ordner sich befinden
set "BaseFolder=D:\"
  rem Namensmaske 
set "FolderMask=Downloads*(*)"

  rem sicherstellen, dass der Basispfad mit einem Backslash endet...  
if "%BaseFolder:~-1%" neq "\"  set "BaseFolder=%BaseFolder%\"
  rem Basispfad nach Ordnern mit dem passenden Muster durchsuchen,
for /d %%a in ("%BaseFolder%%FolderMask%") do (
      rem zur Demo anzeigen was gelöscht würde: zum scharfmachen das echo vor rd entfernen
    echo rd /s /q "%%~a"
)
pause
exit /b

Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren

Erzesel  18.04.2020, 22:57

PS natürlich kannst Du auch :

for /d %%a in ("D:\Downloads*(*)") do  ( rd /s /q "%%~a" )

in die Batch schreiben.(ich persönlich mag es nur nicht für Veränderungen im Schleifenkopf herumzuschreiben. (Trennung von Daten und Code)

Für die direkte Eingabe in die Console verwende einfache % :

for /d %a in ("D:\Downloads*(*)") do  ( rd /s /q "%~a" )

Du kannst die Str-Taste gedrückt halten und die Dateien anklicken und dann auf löschen klicken. Das wäre die Altmodische Variante.

Woher ich das weiß:eigene Erfahrung

Sleacen 
Beitragsersteller
 18.04.2020, 20:48

Sonst würde ich keine Batch-Datei machen xD.

Mit der Zeit wird das nervtötend. Deshalb mach ich das ja. Jedes mal, wenn ich Dinge zweimal herunterlade einfach auf "Duplikationen löschen" klicken und voila. 😃

Ähm, wer sagt das? Klar kannst du einen Jumper setzen.

Bsp.: del test*. * Somit löscht es alles vor und nach dem Punkt, also die Endung, egal welche.

Gruß Sonic

Woher ich das weiß:Berufserfahrung – Diplom Techniker/Elektromeister

Sleacen 
Beitragsersteller
 18.04.2020, 20:45

ich sagte beim "rmdir" Befehl gehts nicht xD.

Es funktioniert nur beim "del"-Befehl. 🤔

Sonic1976  18.04.2020, 20:48
@Sleacen

Achso sry verlesen, aber mal eine Gegenfrage, warum so kompliziert geschrieben/programmiert?

Sleacen 
Beitragsersteller
 18.04.2020, 20:49
@Sonic1976

Wie würdest du es den machen? Es geht darum, alle Duplikationen zu löschen.

Eigentlich kannst du in windows 10 ja die platte "bereinigen" lassen, die routine kümmert sich um sowas oder machst du das der programmierung wegen?


Sleacen 
Beitragsersteller
 18.04.2020, 20:46

... was ist das? xD.

Wo kann ich das machen?