peterpanak47
Goto Top

Bat-Datei zum löschen des kompletten Inhalts eines Ordners

Hallo zusammen,

ich brauche eine Bat-Datei zum löschen des kompletten Inhalts eines Verzeichnisses.

Es sollen alle Verzeichnisse und Dateien usw. gelöscht werden.

Kann mir da jemand helfen?

Gruß Christopher

Content-ID: 41389

Url: https://administrator.de/contentid/41389

Ausgedruckt am: 26.11.2024 um 02:11 Uhr

leknilk0815
leknilk0815 04.10.2006 um 11:37:49 Uhr
Goto Top
Hi,

einen kompletten Verzeichnisbaum incl. enthaltener Dateien löschst Du mit dem Kommando: rd /s /q c:\verzeichnisname
/q steht für "nicht nachfragen"

Gruß - Toni
PeterPanAK47
PeterPanAK47 04.10.2006 um 11:55:54 Uhr
Goto Top
Hi,

danke für deinen Tipp!

Wenn ich nun folgendes in meine Bat-Datei schreibe:

rd /s /q/ C:\User\Share

dann löscht er mir das Share-Verzeichniss

ich will aber nur den Inhalt von Share löschen.

Das ist mein Problem
leknilk0815
leknilk0815 04.10.2006 um 12:10:00 Uhr
Goto Top
das ist richtig, aber was hindert Dich daran, in die Batch nach dem löschen zu schreiben:
md share

Dann wird das Verzeichnis wieder erstellt?

Gruß - Toni
PeterPanAK47
PeterPanAK47 04.10.2006 um 12:22:48 Uhr
Goto Top
Die Rechte die für das Verzeichniss hinterlegt sind .. ich will also nur den Inhalt löschen
leknilk0815
leknilk0815 04.10.2006 um 12:40:01 Uhr
Goto Top
hab ich mir gedacht...
Da muß ich jetzt leider passen, ich weiß, daß es möglich ist, aber leider im Moment nicht, wie.
Vielleicht nimmt sich Biber Deiner an..

Sorry, Gruß - Toni
Biber
Biber 04.10.2006 um 12:46:26 Uhr
Goto Top
Moin PeterPanAK47,

::--- snipp cleanDirC_User_Share.bat
@for /d %%i in (c:\user\share\*.*) do @rd /s /q %%i
@del /q /f c:\user\share\*.* 2>nul

Gruß
Biber
PeterPanAK47
PeterPanAK47 04.10.2006 um 13:14:17 Uhr
Goto Top
Hey suppa, des geht face-smile

danke schonmal.

Aber kannst du mir das ganze nun noch erklären?
Will es ja auch verstehen
Biber
Biber 04.10.2006 um 13:47:28 Uhr
Goto Top
Hmm, ich versuchs, PeterPanAK47,

der Inhalt eines Unterverzeichnisses besteht
- aus weiteren Unterzeichnissen und/oder ( -->kann ich löschen mit RD )
- aus Dateien ( --> kann ich löschen mit DEL

Die Unterverzeichnisse unterhalb von C:\user\share bekomme ich (z.B.) mit der "FOR /D" unten.
Also platt übersetzt bedeutet ja die FOR/D-Anweisung ungefähr:
"Für jedes Unterverzeichnis (=FOR /D) im Verzeichnis C:\User\Share mach mir den RD-Befehl."

Eventuell bleiben nach dem Löschen aller vorhandeden SubDirs noch ein paar Dateien auf der Ebene c:\user\share übrig.
Diese hau ich weg mit dem DEL-Befehl.
Falls dabei Fehler auftreten (zum Beispiel der Fehler "es gibt gar keine Dateien"), dann entsorge ich diese Fehlermeldung mit der Umleitung "2>nul" [=alle Fehlermeldungen ins Haushaltsloch]
Eine Erfolgsmeldung "xx Dateien gelöscht" oder ähnlich kommt eh nicht, also brauche ich die auch nicht unterdrücken.

Damit der Schnipsel nicht ganz so starr ist, würde ich noch empfehlen, dass er dieses Verzeichnis c:\user\share behandelt, falls kein anderes Verzeichnis als Parameter mitgegeben wurde,
So kannst Du damit beliebige Verzeichnisse "säubern".

::--- snipp cleanDir.bat [optionaler Parameter: x:\subdir; Default c:\user\share]
@echo off & setlocal & set "startDir=c:\user\share"  
if not [%1]== set "startDir=%~1"  
@for /d %%i in ("%startDir%\*.*") do @rd /s /q %%i  
@del /q /f "%startDir%\*.*" 2>nul  
PeterPanAK47
PeterPanAK47 04.10.2006 um 13:50:46 Uhr
Goto Top
wow, sehr gut beschrieben.

Wenn man weiss wie es geht .. eigentlich ganz logisch face-smile

Ich danke dir vielmals!

Gruß Christopher