PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : (BATCH) - Ordner leeren und unterordner löschen



Ragnar
28.04.2015, 17:13
Jungs ihr müsst mir eben mal auf die Sprunge helfen und zwar will ich per BATCH script einen Ordner leeren inklusive alle unterordner löschen (die unbekannt sind, in anzahl und namen) der hauptordner muss aber bestehen bleiben (auch nicht löschen und wieder erstellen methode). Das Problem ist nutze ich DEL löscht es ja nur dateien, nutze ich RD lösche ich unterordner aber auch den hauptordner selbst (soll ja nicht der fall sein) usw... warscheinlich ist das ganze echt simpel und ich stehe wirklich auf dem schlauch ...

kurz nochmal zusammen gefasst :

C:\Hauptordner(dieser enthält dateien)\Unterordner1(dieser enthält dateien)\unterordner2(dieser enthält dateien)\ usw...

Hauptordner bleibt ! aber wird geleert (DEL)
Unterordner 1 und 2 und alle anderen sollen nicht nur leer sondern weg ... da die genaue anzahl und namen unbekannt sind kann ich jene auch nicht direkt aufrufen

- - - - - - - - - - Beitrag nachträglich erweitert - - - - - - - - - -

Kann nicht mehr editieren deshalb so, mir war das ganze dann doch zu blöd und ich hab dann doch was in Powerscript "geschrieben", kann geschlossen werden, danke trotzdem jungs.

The Don
28.04.2015, 17:24
Stellst du es bereit?

cnx
28.04.2015, 22:48
Wenn ich es richtig verstanden habe, dann probier mal folgendes Script:

echo ich_lösch_jetzt_mal_den_Inhalt_des_Hauptordners!! !!!!!!!!!
del Hauptordner(dieser enthält dateien) /s /f /q
for /D %%a in ("Hauptordner(dieser enthält dateien)\*.*") do rd /q /s "%%a"

Rot muss dementsprechend geändert werden.
Die for-Schleife führt für jeden Ordner im Hauptordner den Befehl rd (rekursiv) aus, bis kein Ordner mehr da ist. -> Vorschleife beendet sich.

Pille
28.04.2015, 23:59
Für solche Fälle bin ich stets bereit etwas zu programmieren ;)
(ausgenommen für The Don)

Ragnar
03.05.2015, 21:10
Stellst du es bereit?

Kann ich natürlich gerne machen.

Das Problem weshalb es eigentlich Batch sein sollte, im vergleich zu Powershell brauch es keine besonderen Rechte. Da es mir am ende aber wie oben schon geschrieben echt zu doof war hab ich dann doch schnell was in Powershell gemacht, da das ganze dort total unkompliziert und easy geht.

//* Get-ChildItem -Path D:\zu_loeschende_ordner\ -Exclude "Ordner1behalten","Ordner2behalten" | Remove-Item -recurse *// Sprich er löscht den hauptordner bzw. leert ihn mitsamt inhalt und unterordner außer die in der ausnahme genannten ordner. Beachtet auch das wenn dateipfade leerzeichen enthalten, muss das ganze dann immer mit "" geschrieben werden. Auch Get-ChildItem kann ggf. weg gelassen werden sowie recurse, jeh nach verwendung.