schwinni79
Goto Top

Dateien und Unterordner per Script löschen

Hallo zusammen,

ich habe ein Problem wie in diesem Thread auch schon beschrieben:

Inhalt eines verzeichnisses per script löschen.

Ich komme allerding mit meinem Batchfile und den Funktionen FOR / d /r nicht so recht voran.

Ich will alle Dateien und Unterordner samt Dateien aus dem Ordner C:\LNK löschen lassen. Der Ordner LNK selber soll nicht gelöscht werden.

Ich weiß nicht, wie ich die Syntax richtig eingeben muss (z.B. was bei Satz reinmuss).

FOR /R C:\LNK IN (Satz) DO del /Q /S

Bin für jeden Hinweis dankbar.

Michael

Content-ID: 68572

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

Ausgedruckt am: 22.11.2024 um 16:11 Uhr

Biber
Biber 13.09.2007, aktualisiert am 18.10.2012 um 18:32:26 Uhr
Goto Top
Moin Schwinni79,

ich denke, mit folgendem kommst Du weiter:
for /d  %i in (c:\lnk\*) do @Del /s /q %i
--> löscht alle Unterverzeichnisse unterhalb c:\LNK
del /y c:\lnk\*.* 
---> loscht die Dateien in c:\lnk.

Ich verschiebe Deine Frage mal nach "Batch & Shell".
Dort findest Du auch ähnliche Beitrage, z.B. Dateien in verschiedenen Verzeichnissen vergleichen und doppelte entfernen von gestern.

Grüße
Biber
[Edit] Upps, diesmal hatte ich auch zu flüchtig gelesen.. natürlich "Rd" statt "del" wie unten von bastla beschrieben... [/Edit]
Schwinni79
Schwinni79 13.09.2007 um 10:44:23 Uhr
Goto Top
Hallo Biber,

sorry - ich hatte im falschen Bereich gepostet.

Vielen Dank für deine schnelle Antwort. Leider werden die Ordner nicht gelöscht. Hier die angepasste Batchdatei:

for /d %%i in (c:\test\Start\*) do @del /s /q %%i

Da ich batch verwende, habe ich ein zusätzliches "%" eingefügt. Leider werden die Ordner in C:\test\Start nicht gelöscht, die Dateien aus den Unterordnern schon...

Was mache ich hier falsch?

Michael
bastla
bastla 13.09.2007 um 11:26:36 Uhr
Goto Top
Hallo Schwinni79!

Dazu bräuchtest Du dann "rd", also etwa:
for /d %%i in (c:\test\Start\*) do @rd /s /q "%%i"  

Grüße
bastla
Schwinni79
Schwinni79 14.09.2007 um 07:47:37 Uhr
Goto Top
Hallo bastla,

vielen Dank für deinen Hinweis - das war genau das, was ich suchte.

Das Script funktioniert nun wie gewünscht. Mir ist eine Sache aufgefallen, die ich nicht verstehe:

befindet sich in meinem Ordner "Start" ein Unterordner mit dem Namen "MY FILES", erscheint im cmd-promt:

C:\>delscript.bat
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Drücken Sie eine beliebige Taste . . .

heisst der Ordner "MY_FILES", funktioniert alles.

Sobald ein Leerzeichen im Namen ist, funktioniert es nicht.

Kann man dieses Verhalten ändern?

Michael
bastla
bastla 14.09.2007 um 08:51:48 Uhr
Goto Top
Hallo Schwinni79!

Wie Du richtig erkannt hast, liegt es an den Leerzeichen (diese werden von CMD als Trennzeichen interpretiert) - allerdings sollte das Problem in der von mir geposteten Variante (mit Anführungszeichen um %%i herum) nicht auftreten, da die Anführungszeichen den Namen "zusammenhalten".

Grüße
bastla
Schwinni79
Schwinni79 14.09.2007 um 08:57:12 Uhr
Goto Top
Vielen vielen Dank für deine Hilfe - und deine Geduld!

Schönes Wochenende!

Michael