[Batch] Ordner Löschen

Rene011

bekommt Übersicht
Hallo,

ich habe folgendes Problem ich möchte eine Batch Datei erstellen die alle Ordner/Unterordner mit dem namen "DEBUG" auf meinem Laufwerk C:\ löscht. Allerdings ist der genaue Pfad der DEBUG ordner nichts bekannt bzw. ändert sich jedes mal.
Mein bisheriger Code sieht wie volgt aus.

Code:
@echo off
for /D %%x in (*DEBUG*) do rd "%%x"
Pause

Allerdings löscht diese Datei dann nicht die DEBUG Unterordner.
Ich hoffe ihr könnt mir sagen wo mein fehler ist.

MfG René027
 
Versuchs mal mit

for /D %%x in (*DEBUG*) do rd /s "%%x"
 

Anhänge

  • rds.JPG
    rds.JPG
    56,8 KB · Aufrufe: 351
Da ich gestern keine Zeit mehr gefunden habe, zu antworten und little tyrolean mir jetzt die Hälfte der Antwort genommen hat, nur eine kleine Ergänzung:

Code:
for /D %%x in (*DEBUG*) do rd /s /q "%%x"

Wie auch auf dem Bild von little tyrolean schon zu sehen ist, hat der s-Parameter die Aufgabe, den ganzen Verzeichnisbaum mit samt Inhalt zu löschen. Der Q-Parameter hat wiederum die Aufgabe, die Frage, ob eine Datei oder ein Ordner gelöscht werden soll, zu unterdrücken.

Wenn du dir also sicher bist, dass alles in dem angegebenen Ordner gelöscht werden kann, dann wird der Script dann ohne Frage von Anfang bis Ende durch arbeiten und alles löschen, dass er finden und löschen kann.
 
Als erstes vielen dank für eure schnelle und gute antworten.
Leider funktioniert das bei mir immer noch nicht richtig.
Also hier ist erstmal ein bild von dem Verzeichnis F:\ wo sich zwei DEBUG Ordner befinden die gelöscht werden sollen.
Magical Snap - 2012.01.09 17.06 - 003.png
Wenn ich allerdings jetzt die Batch ausführe wird nur der DEBUG Ordner unter dem Pfad F:\DEBUG gelöscht allerdings nicht der Ordner unter dem Pfad F:\fr\DEBUG kurz gesagt die DEBUG Unterordner werden nicht gelöscht.
 
Das ist ganz normal -
den Ordner ...\fr\DEBUG findet die Batch nicht, weil sie nur nach "DEBUG" sucht und "fr\DEBUG" nicht beachtet.

Einfach die Batch nach F:\ ins Root verlegen, dann räumt sie den kompletten Ordner F:\DEBUG weg.

Wenn F:\DEBUG\fr erhalten bleiben soll, lautet die Batch

for %f in (F:\DEBUG F:\DEBUG\fr\DEBUG) do rd %f /s

es muß also jeder zu löschende Ordner mit dem kompletten Pfad angegeben werden.
 
Zuletzt bearbeitet:
ah ok dann werde ich es so machen.
nochmal vielen dank für eure schnellen und guten antworten.

MfG René027
 
Ich kann auch einen Script schreiben, der dann noch den DEBUG-Pfad aus dem ersten Pfad heraus liest, abspeichert und als letztes Löscht.

Ob das nun einfacher ist, sei dahin gestellt, aber ich kanns machen^^

Dann aber nicht heute, bin gleich weg. Wenn ich es nicht vergesse, schreib ich fix Morgen einen Script dafür


Also bis Morgen^^
 
@Palladin007
Danke für dein Angebot aber das musst du nicht machen die Datei zu schreiben war teil einer Hausaufgabe die ich heute abgegeben habe. Trotzdem vielen dank.
 
Ach so, ok^^

Ich finde es zwar fragwürdig, dass Batch eine Hausaufgabe dar stellt, aber ich finde es auc fragwürdig, dass wir Java "lernen", doch das ist ein anderes Thema.



Auf jeden Fall hab ich vor C# eine Weile nur mit Batch gearbeitet. Wenn du also Fragen hast und du nicht extra ein neues Thema erstellen willst, kannst du gerne fragen^^
 
Oben