Batch - alle Ordner löschen, die Ziffern im Namen haben

  • #1
D

Dundee0815

Neues Mitglied
Themenersteller
Dabei seit
10.03.2012
Beiträge
4
Reaktionspunkte
0
Hi,

hat jemand eine Idee wie man per Batchdatei alle Ordner in der Root löschen kann,
die Ziffern beinhalten ?

Die Ordner schauen beispielsweise so aus:
c:\a1dfe6867eb948159a3a

Ich dachte da an, wenn eine Ziffer zwischen 0 und 9 im Namen vorkommt, dann löschen.

Bin mit For-Schleifen in Batchdateien nicht sonderlich fit.
 
  • #2
Diese Verzeichnisse entstehen bei Installationen, meistens von Windows. So sonderlich viele sind es nicht. Die löscht man händisch und gut ist.
Um welche Anzahl geht es denn bei dir?
 
  • #3
Wir sprechen von einem Ordner, aber auf 6500 Clients (ja, wirklich soviele).

Das die durch Hotfixes / WSUS Updates erstellt werden weiß ich. Das war auch nicht die Frage.
Es handelt sich hier um ein Windows 7 Deployment welches per SCCM verteilt wird.
Nach einem Neuaufsetzen eines Clients soll die Root möglichst sauber gehalten werden.

Per VBScript ist das kein Thema, aber ich möchte dies gerne per Batch erledigen.

Also, any ideas ?
 
  • #4
In der Eingabeaufforderung:

Code:
cd /d C:\
for /f %a in ('dir /ad /b C:\*.* ^| findstr [0-9]') do [color=red]@echo[/color] rd /s /q %a

zum Testen. Ohne das @echo hinter do wird der Befehl ausgeführt, sonst nur angezeigt.
Auf den richtigen Laufwerksbuchstaben achten.

pan_fee
 
  • #5
Hi,

das schaut ja schon super aus. Danke.
Ergänzende Frage: Ordner mit Leerzeichen werden zwar ebenfalls erkannt, aber nur bis zum ersten Leerzeichen aufgelistet.
Kann man das auch hinbekommen ?

Hintergrund ist, auch der Ordner Program Files (x86) befindet sich in der Liste und sollte ausgenommen werden.
 
  • #6
setz den pfad in ...

gruß

hugo
 
  • #7
Das habe ich schon versucht, nur erfolglos (%a):


Code:
for /f %a in ('dir /ad /b C:\*.* ^| findstr [0-9]') do @echo rd /s /q %a
 
  • #8
Program Files(x86) wird ja gar nicht gefunden, sondern nur Program und den Ordner gibt es doch offenbar nicht, also kann der Ordner auch nicht gelöscht werden.

In der Konsole nur mit einem Prozent-Zeichen %a - in der Batch mit 2 %%a

Code:
for /f [color=red]%%a[/color] in ('dir /ad /b C:\*.* ^| findstr [0-9]') do if [[color=red]%%a[/color]] neq [Program] @echo rd /s /q [color=red]%%a[/color]

pan_fee

Edit: Code korrigiert
 
Thema:

Batch - alle Ordner löschen, die Ziffern im Namen haben

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben