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-Key: 41389

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

Printed on: April 19, 2024 at 20:04 o'clock

Member: leknilk0815
leknilk0815 Oct 04, 2006 at 09:37:49 (UTC)
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
Member: PeterPanAK47
PeterPanAK47 Oct 04, 2006 at 09:55:54 (UTC)
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
Member: leknilk0815
leknilk0815 Oct 04, 2006 at 10:10:00 (UTC)
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
Member: PeterPanAK47
PeterPanAK47 Oct 04, 2006 at 10:22:48 (UTC)
Goto Top
Die Rechte die für das Verzeichniss hinterlegt sind .. ich will also nur den Inhalt löschen
Member: leknilk0815
leknilk0815 Oct 04, 2006 at 10:40:01 (UTC)
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
Member: Biber
Biber Oct 04, 2006 at 10:46:26 (UTC)
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
Member: PeterPanAK47
PeterPanAK47 Oct 04, 2006 at 11:14:17 (UTC)
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
Member: Biber
Biber Oct 04, 2006 at 11:47:28 (UTC)
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  
Member: PeterPanAK47
PeterPanAK47 Oct 04, 2006 at 11:50:46 (UTC)
Goto Top
wow, sehr gut beschrieben.

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

Ich danke dir vielmals!

Gruß Christopher