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

4 Antworten

Vom Fragesteller 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" )
0

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 
Fragesteller
 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. 😃

1

Ä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 
Fragesteller
 18.04.2020, 20:45

ich sagte beim "rmdir" Befehl gehts nicht xD.

Es funktioniert nur beim "del"-Befehl. 🤔

0
Sonic1976  18.04.2020, 20:48
@Sleacen

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

0
Sleacen 
Fragesteller
 18.04.2020, 20:49
@Sonic1976

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

0

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 
Fragesteller
 18.04.2020, 20:46

... was ist das? xD.

Wo kann ich das machen?

0