pickwick
Goto Top

Unterverzeichnisse dynamisch leeren

Hallo liebe Forengemeinde,
ich habe Folgendes vor :

Ich habe ein Hauptverzeichnis welcher diverse Unterordner enthält :

Hauptverzeichnis\
...User1\
...User2\
...User3\
...etc

Ich will diese Ordner nun von Dateien und enthaltenen Unterordnern säubern, dabei aber eben die Ordner User1, User2... behalten.
Dateien welche in den Ordnern liegen bekomme ich bereits gelöscht nur sobald es Unterordner gibt scheitere ich.
Meine Idee wäre mir über DIR /a:d /b >ausgabedatei die Ordner einzulesen, danach ich jeden Userx Ordner zu wechseln,
da ein neues DIR command ausführen und die enthaltenen Unterordner in einer Datei speichern, diese dann auslesen
und über RD zu löschen.
Leider scheitere ich bis jetzt an der Umsetzung. Hier mal mein bisherige Lösung :

@echo on

REM Hier lösche ich alle Dateien aus den Userx Ordnern und verstecke die Batch damit sie nicht auch gelöscht wird

ATTRIB +h clean.cmd
DEL *.* /s /q
rmdir /s/q *.*
ATTRIB -h clean.cmd

REM Userx Ordner in eine datei ausgeben

dir /a:d /b >verzeichnisse.txt

REM Ordner aus Datei auslesen
REM die enthaltenen unterordner in Datei ausgeben
REM Dann sollte das löschen kommen was noch fehlt face-wink


for /f %%i in (verzeichnisse.txt) do (

cd %%i

dir /a:d /b >unterordner.txt
)
)


So die Bemerkungen hab ich für euch noch kurz für das Veständnis eingefügt.

Grüße
PickWick

pause

Content-Key: 98978

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

Printed on: April 25, 2024 at 18:04 o'clock

Member: bastla
bastla Oct 10, 2008 at 12:39:28 (UTC)
Goto Top
Hallo pickwick!

Die "clean.cmd" solltest Du am besten in einem anderen Ordner speichern und etwa so gestalten:
@echo off & setlocal
set "Basis=D:\UserOrdnerRoot"  

for /d %%i in ("%Basis%\*.*") do (  
    REM %%i enthält den Pfad des Userordners
    REM Es reicht aus, die unmittelbar im Userordner liegenden Dateien zu loeschen, ...
    del /q "%%i\*.*"  
    REM ... da die übrigen Dateien beim Entfernen der Unterordner ohnehin mit erfasst werden
    for /d %%a in ("%%i\*.*") do rd /s /q "%%a"  
)
Grüße
bastla
Member: pickwick
pickwick Oct 10, 2008 at 12:44:02 (UTC)
Goto Top
Genial =)

Vielen lieben Dank!

Bin wirklich begeistert von diesem Forum - Super Leute - kompetente Hilfe

Gurß
Benjamin