sammy65
Goto Top

Per Batch-Script und Task Planer bestimmte Verzeichnisse löschen

Hallo miteinander,

ich habe vor über eine Batchdatei, die Tauschordner der user in meinem Netzwerk alle 2 Tage per Taskplaner zu löschen. Die werden mittlerweile als Datenablage missbraucht.

Hierzu folgendes Script.

Mein Problem ist nur, dass ich ein bestimmtes Verzeichnisse (das vom Chef) nicht löschen will.
Da ich nicht so der Scriptgott bin weis ich jetzt nicht wie ich hier eine Abfrage einbauen kann.

set datei1=c:\batch\tauschordner.txt

REM Hier muss der Pfad rein zum Ordner deren Inhalt gelöscht werden muss sowie beim rd und md

dir \\srv010\Tauschordner /N/b >%datei1%


for /F "usebackq delims=" %%i IN (%datei1%) do (

rd /S /Q "C:\Tauschordner\%%i"
md "C:\Tauschordner\%%i"

)

Die Ordnerstruktur ist:

\\srv001\tauschordner\user 1
\\srv001\tauschordner\user 2
\\srv001\tauschordner\user 3
\\srv001\tauschordner\user 4
\\srv001\tauschordner\user 5
\\srv001\tauschordner\user 6

user 3 ist der Ordner der nicht gelöscht werden soll.

Kann mir von Euch jemand helfen?
Danke für die Mühe

lg
Thomas

Content-ID: 194212

Url: https://administrator.de/forum/per-batch-script-und-task-planer-bestimmte-verzeichnisse-loeschen-194212.html

Ausgedruckt am: 15.04.2025 um 00:04 Uhr

bastla
bastla 14.11.2012 um 08:18:47 Uhr
Goto Top
Hallo sammy65!

Eigentlich brauchst Du keine Textdatei vorweg zu erstellen, sondern kannst das gleich direkt in der Schleife erledigen, aber unabhängig davon kannst Du mit
dir /b /ad "\\srv010\Tauschordner"|findstr /iv "user3"
eine entsprechend gefilterte Liste erzeugen. Sollte "user3" ein Leerzeichen enthalten, müsste das so aussehen:
dir /b /ad "\\srv010\Tauschordner"|findstr /ivc:"user3"
Grüße
bastla
MrNetman
MrNetman 14.11.2012 um 09:52:19 Uhr
Goto Top
Hi Thomas,

warum so kompliziert?
del /? ist dein Freund.

del \\srv001\tauschordner\user 1 /S /F /Q
und 4 weitere Zeilen.

Das lässt sich leicht mit dem Taskmanager starten ... Jede Woche am Sonntag oder so.

Gruß
Netman
sammy65
sammy65 15.11.2012 um 12:45:43 Uhr
Goto Top
Zitat von @bastla:
Hallo sammy65!

Eigentlich brauchst Du keine Textdatei vorweg zu erstellen, sondern kannst das gleich direkt in der Schleife erledigen, aber
unabhängig davon kannst Du mit
dir /b /ad "\\srv010\Tauschordner"|findstr /iv "user3"
> 
eine entsprechend gefilterte Liste erzeugen. Sollte "user3" ein Leerzeichen enthalten, müsste das so aussehen:
dir /b /ad "\\srv010\Tauschordner"|findstr /ivc:"user3"
> 
Grüße
bastla

Hi bastla,

es klappt, dankeschön.

Die Textdatei brauche ich aber schon, da ich anhand der ausgelesenen Werte die Verzeichnisse wieder anlegen will.

lg
Thomas
sammy65
sammy65 15.11.2012 um 12:47:40 Uhr
Goto Top
Zitat von @MrNetman:
Hi Thomas,

warum so kompliziert?
del /? ist dein Freund.

del \\srv001\tauschordner\user 1 /S /F /Q
und 4 weitere Zeilen.

Das lässt sich leicht mit dem Taskmanager starten ... Jede Woche am Sonntag oder so.

Gruß
Netman

Hi Netman,

das ist prinzipiell schon richtig, aber mit dem auslesen des Verzeichnisses mittels dir bin ich flexibler.
bastla
bastla 15.11.2012 aktualisiert um 19:12:45 Uhr
Goto Top
Hallo sammy65!
Die Textdatei brauche ich aber schon, da ich anhand der ausgelesenen Werte die Verzeichnisse wieder anlegen will.
Nein - Du kannst ja so, wie Du das oben schon angedeutet hast, einfach löschen und gleich wieder anlegen - also:
1
2
3
4
for /F "delims=" %%i IN ('dir /b /ad "\\srv010\Tauschordner"|findstr /iv "user3"') do (  
    rd /S /Q "\\srv010\Tauschordner\%%i"  
    md "\\srv010\Tauschordner\%%i"  
)
Grüße
bastla
MrNetman
MrNetman 15.11.2012 um 18:10:50 Uhr
Goto Top
del löscht auch keine Verzeichnisse, nur Dateien.