133808
Goto Top

Per Batch Unterordner inklusive Dateien löschen

Hallo zusammen,

ich suche eine Möglichkeit Unterordner mit Inhalt per Batch zu löschen.


Unter C:\temp, gibt es die Unterordner 1, 2, 3, 4, 5.


Unter C:\temp, gibt es eine Datei (container.dat), die darf nicht gelöscht werden.


Ich möchte mittels Batch die Ordner Unterhalb von c:\temp löschen, will aber,

das der temp Ordner erhalten bleibt.


Die Ordner 1,2,3,4,5 sind nicht leer.


Leider habe ich dazu keine Lösung gefunden.

Könnt ihr mir helfen?


Viele Grüße

Content-Key: 377384

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

Printed on: May 5, 2024 at 08:05 o'clock

Member: emeriks
emeriks Jun 18, 2018 updated at 08:59:36 (UTC)
Goto Top
Hi,
dafür gibt es mit Sicherheit zig Hinweise im Web.
2 Ansätze, machen musst Du selbst:

Variante 1
  • container.dat in anderen Stammordner verschieben
  • C:\temp löschen mit "rd /s"
  • C:\temp neu erstellen
  • container.dat zurückschieben

Variante 2
  • mit FOR die Unterordner auflisten --> Hinweise findest Du selbst im Web
  • "für jeden Unterordner" --> diesen löschen

E.
Member: colinardo
colinardo Jun 18, 2018 updated at 10:39:27 (UTC)
Goto Top
Servus.
Für eine Batch (und Ordner mit festgelegten Namen):
@echo off
for %%a in (1 2 3 4 5) do rd "C:\temp\%%a" /s /q  
Alternativ wenn es alle Unterordner sein sollen egal wie sie heißen:
@echo off
for /d %%a in ("C:\temp\*") do rd "%%" /s /q  
für die Eingabe direkt in einer Konsole die doppelten Prozentzeichen durch einfache ersetzen.

Und danach zum Verständnis des ganzen
for /? in die Konsole eingeben und davon lernen face-smile, oder besser gleich zur Powershell switchen:
gci c:\temp -Exclude container.dat | remove-item -recurse -force

Grüße Uwe
Member: miniversum
miniversum Jun 18, 2018 at 10:23:09 (UTC)
Goto Top
Hallo Uwe,

dein Powershell script macht aber ein bischen was anderes als dine Batch ... *klugsch...*

Gruß
...
Member: colinardo
colinardo Jun 18, 2018 updated at 10:36:03 (UTC)
Goto Top
Zitat von @miniversum:
dein Powershell script macht aber ein bischen was anderes als dine Batch ... *klugsch...*
Joa, da habe ich halt mal die Glaskugel mit einer Variante spielen lassen, dass er vielleicht einfach alle Ordner darin löschen möchte, bis auf das ist's gleich, ansonsten nimmt er halt einfach zusätzlich -Include mit den Ordner als Array an Bord face-smile. Etwas beschäftigen sollte er sich ja sowieso damit, grundsätzliches Pflichtprogramm face-wink.
Zitat:
Ich möchte mittels Batch die Ordner Unterhalb von c:\temp löschen, will aber, das der temp Ordner erhalten bleibt.