wildlife

Batch-Script zum rekursiven Löschen von Dateien und Verzeichnissen

// January 5th, 2010 // IT, Tutorials

Aufgrund eines aktuellen Anlass (Servus Michi ;) ), habe ich mich gerade mal daran gemacht ein Batchscript zu schreiben, mit dem man Dateien und Verzeichnisse unterhalb eines anzugebenden Pfades löschen kann. Viele nutzen hierfür einfach den DOS-Befehl "RD". Dieser löscht jedoch das angegebene Verzeichnis selbst mit. Mir war es jedoch wichtig, dass das angegebene Verzeichnis bestehen bleibt.

Zu Beginn wird das entsprechende Verzeichnis in eine Variable geschrieben, um das Script schnell für andere Arbeiten anzupassen. Alternativ kann natürlich mit der Übergabe von Parametern gearbeitet werden. Als nächstes wird eine FOR-Schleife abgearbeitet, bei der zuerst alle Unterverzeichnisse aufgelistet und diese dann mitttels RD rekursiv gelöscht werden. Damit sind die Verzeichnisse bereits erledigt. Danach werden mit dem Befehl DEL noch die im Verzeichnis selbst enthaltenen Dateien gelöscht und der Ordner ist leer.

Hier das Script:

set deldir=C:\xxx\yyy\zzz
for /F "Tokens=*" %%i IN ('Dir /AD /B "%DELDIR%"') DO RD /Q /S "%DELDIR%\%%i"
del /F /S /Q "%DELDIR%\*.*"

Über Feedback oder Verbesserungsvorschläge in den Kommentaren freue ich mich.

Ähnliche Beiträge:


3 Responses to “Batch-Script zum rekursiven Löschen von Dateien und Verzeichnissen”

  1. Dein Teamleiter says:

    Zu spät! :D

  2. LeoN says:

    Vielleicht habe ich ja was wichtiges übersehen, aber müsste dein Problem nicht auch mit ">del * /s" machbar seien? Dieser Befehl hat mir letztens sehr geholfen (Stichwort Temporäre Internetdateien in seehr großer Zahl)

Leave a Reply