m.marz
Goto Top

Ü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

Content-Key: 291452

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

Printed on: May 8, 2024 at 10:05 o'clock

Member: ITvortex
ITvortex Dec 21, 2015 updated at 09:44:44 (UTC)
Goto Top
Hallo,

<code type"plain">rd /s /q C:\Test && md C:\Test

Liebe Grüße
ITvortex
Member: M.Marz
M.Marz Dec 21, 2015 at 09:49:36 (UTC)
Goto Top
sehr gut face-smile

Aber gibt es keinen Befehl der nur den Inhalt löschen kann ohne das ganze Verzeichnis?
Mitglied: 122990
122990 Dec 21, 2015 updated at 09:56:18 (UTC)
Goto Top
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
Member: M.Marz
M.Marz Dec 21, 2015 at 09:56:29 (UTC)
Goto Top
na auch dies wäre ja nur ein Umweg oder?
Mitglied: 122990
122990 Dec 21, 2015 updated at 09:58:23 (UTC)
Goto Top
Zitat von @M.Marz:
na auch dies wäre ja nur ein Umweg oder?
??? Wieso ...? Hauptsache der Ordner ist hinterher leer, auf welche Weise ist doch schnurz piepe...
Member: ITvortex
ITvortex Dec 21, 2015 updated at 10:01:14 (UTC)
Goto Top
Zitat von @M.Marz:

sehr gut face-smile

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  
Mitglied: 122990
122990 Dec 21, 2015 updated at 10:18:35 (UTC)
Goto Top
Zitat von @ITvortex:
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  
@ITvortex Damit werden aber keine Dateien im Root gelöscht face-wink rd kann als Argument nur Verzeichnisse aufnehmen, und mit deinem Filter *.* exkludierst du ja ebenfalls schon Verzeichnisse, das kann also nich face-wink

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  
Aber was sind für Ihn jetzt "Umwege". In Batch ist doch eigentlich alles ein Umweg face-wink
Member: Dilbert-MD
Dilbert-MD Dec 21, 2015 at 10:13:56 (UTC)
Goto Top
Zitat von @M.Marz:

Den RD Befehl habe ich so verwendet was aber auch den Ordner Test gelöscht hat:

rd c:\Test\ /s /q

Hallo,

bei:
C:\Test\U1
C:\Test\U2

nimmst Du
 rd /S /Q C:\Test 

Gruß
Holger
Mitglied: 122990
122990 Dec 21, 2015 updated at 10:16:08 (UTC)
Goto Top
Zitat von @Dilbert-MD:
nimmst Du
 rd /S /Q C:\Test 
Nö, hinterher ist aber das Verzeichnis C:\Test ebefalls wech, und das will er ja gerade verhindern face-wink Steht ja im Ursprungspost schon so!
Member: Dilbert-MD
Dilbert-MD Dec 21, 2015 updated at 10:24:34 (UTC)
Goto Top
Zitat von @122990:

Zitat von @Dilbert-MD:
nimmst Du
 rd /S /Q C:\Test 
Nö, hinterher ist aber das Verzeichnis C:\Test ebefalls wech, und das will er ja gerade verhindern face-wink
Bei mir kommt nur eine Fehlermeldung, dass er auf das Verzeichnis nicht zugreifen kann.

012416cc6f99859e682fa31cb711bd40

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
Mitglied: 122990
122990 Dec 21, 2015 updated at 10:26:52 (UTC)
Goto Top
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 face-wink. Glaube jetzt hat der TO nun einige Lösungen ... da kann er sich die passende raus suchen.
Member: Dilbert-MD
Dilbert-MD Dec 21, 2015 updated at 10:29:27 (UTC)
Goto Top
Zitat von @122990:
da kann er sich die passende raus suchen.
Yep !

MC
Holger


Merry Christmas
Member: M.Marz
M.Marz Dec 21, 2015 at 11:39:59 (UTC)
Goto Top
Danke euch allen.

ich benutze die variante

rd Ordner
md Ordner.

lg

M.Marz