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-Key: 194212

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

Printed on: April 24, 2024 at 23:04 o'clock

Member: bastla
bastla Nov 14, 2012 at 07:18:47 (UTC)
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
Member: MrNetman
MrNetman Nov 14, 2012 at 08:52:19 (UTC)
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
Member: sammy65
sammy65 Nov 15, 2012 at 11:45:43 (UTC)
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
Member: sammy65
sammy65 Nov 15, 2012 at 11:47:40 (UTC)
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.
Member: bastla
bastla Nov 15, 2012 updated at 18:12:45 (UTC)
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:
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
Member: MrNetman
MrNetman Nov 15, 2012 at 17:10:50 (UTC)
Goto Top
del löscht auch keine Verzeichnisse, nur Dateien.