Über die CMD nur einen Ordnerinhalt mit Unterordnern löschen
Hallo zusammen,
ich möchte gerne innerhalb von einem Ordner der auf C: liegt alles löschen.
Zum Testen habe ich diesen Ordner hier angelegt
c:\Test
ich möchte gerne eine Batchdateie schreiben, die alles was in dem Ordner Test (Dateien und Ordner) ist ohne nachfrage gnadenlos löscht.
mit dem Befehl "rd" löscht er das gesamte Oberverzeichnis also auch den Ordner "Test" was ich ja nicht möchte.
Mit den Befehlen del und erase löscht er nur Dateien und lässt die Ordner übrig.
Den RD Befehl habe ich so verwendet was aber auch den Ordner Test gelöscht hat:
rd c:\Test\ /s /q
Wie kann ich das Skript so schreiben das wirklich nur der Inhalt vom Test gelöscht wird?
Ich verwende Windows 7 Pro.
Danke für eure Antworten.
Lg
M.Marz
ich möchte gerne innerhalb von einem Ordner der auf C: liegt alles löschen.
Zum Testen habe ich diesen Ordner hier angelegt
c:\Test
ich möchte gerne eine Batchdateie schreiben, die alles was in dem Ordner Test (Dateien und Ordner) ist ohne nachfrage gnadenlos löscht.
mit dem Befehl "rd" löscht er das gesamte Oberverzeichnis also auch den Ordner "Test" was ich ja nicht möchte.
Mit den Befehlen del und erase löscht er nur Dateien und lässt die Ordner übrig.
Den RD Befehl habe ich so verwendet was aber auch den Ordner Test gelöscht hat:
rd c:\Test\ /s /q
Wie kann ich das Skript so schreiben das wirklich nur der Inhalt vom Test gelöscht wird?
Ich verwende Windows 7 Pro.
Danke für eure Antworten.
Lg
M.Marz
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 291452
Url: https://administrator.de/forum/ueber-die-cmd-nur-einen-ordnerinhalt-mit-unterordnern-loeschen-291452.html
Ausgedruckt am: 12.04.2025 um 22:04 Uhr
13 Kommentare
Neuester Kommentar

Powershell -Executionpolicy Bypass -Command "Remove-Item 'c:\test\*' -Force -Recurse"
oder mit Robocopy einen "leeren" Ordner ins Ziel mergen
robocopy c:\leer c:\test /MIR
Gruß grexit

??? Wieso ...? Hauptsache der Ordner ist hinterher leer, auf welche Weise ist doch schnurz piepe...
Zitat von @M.Marz:
sehr gut
Aber gibt es keinen Befehl der nur den Inhalt löschen kann ohne das ganze Verzeichnis?
sehr gut
Aber gibt es keinen Befehl der nur den Inhalt löschen kann ohne das ganze Verzeichnis?
for /f "delims=" %i in ('dir /b "C:\Test\*.*"') do rd /s /q "C:\Test\%i" 2>nul

Zitat von @ITvortex:
@ITvortex Damit werden aber keine Dateien im Root gelöscht Aber gibt es keinen Befehl der nur den Inhalt löschen kann ohne das ganze Verzeichnis?
for /f "delims=" %i in ('dir /b "C:\Test\*.*"') do rd /s /q "C:\Test\%i" 2>nul
Wenn dann so, für eine direkte Eingabe in der CMD (Bei einer Batch müssen die Prozentzeichen verdoppelt werden)
del C:\test /s /q & for /d %a in (C:\test\*) do rd "%a" /s /q
Den RD Befehl habe ich so verwendet was aber auch den Ordner Test gelöscht hat:
rd c:\Test\ /s /q
rd c:\Test\ /s /q
Hallo,
bei:
C:\Test\U1
C:\Test\U2
nimmst Du
rd /S /Q C:\Test
Gruß
Holger

Nö, hinterher ist aber das Verzeichnis C:\Test ebefalls wech, und das will er ja gerade verhindern
Steht ja im Ursprungspost schon so!
Zitat von @122990:
Nö, hinterher ist aber das Verzeichnis C:\Test ebefalls wech, und das will er ja gerade verhindern
Bei mir kommt nur eine Fehlermeldung, dass er auf das Verzeichnis nicht zugreifen kann.Nö, hinterher ist aber das Verzeichnis C:\Test ebefalls wech, und das will er ja gerade verhindern
Möglicherweise liegts daran, dass ich den RD Befehl aus dem Verzeichnis C:\TEMP\Test heraus gestartet habe.
also bat so schreiben dass erst eine cd C:\Temp\Test in das Verzeichnis wechselt, dass erhalten bleiben soll und aus diesem verzeichnis dann alle Unterverzeichnisse löschen, dann wieder mit cd\
zurück in hauptverzeichnis

Möglicherweise liegts daran, dass ich den RD Befehl aus dem Verzeichnis C:\TEMP\Test heraus gestartet habe.
Jup das ist es logischerweise. Aber vermutlich ist das für den TO auch wieder nur ein "Umweg" so wie alles in Batch ein Umweg ist