1672
Goto Top

Mit Batchscript alte Verzeichnisse löschen

Ich habe ein Problem, das mit den PST Files klappt jetzt.
ich kopiere sie immer in einen ordner der als namen das aktuelle datum hat.
nun muss ja der alte müll auch wieder weg, also ich dachte alles was so ne woche alt is kommt wieder weg in die tonne.
jetzt suche ich nach einer möglichkeit mit einem neuen batch script diese alten verzeichnisse zu lösche, ich müsste irgendwie das datum mit dem in %DATE% vergleichen und wenn ein ordner 5 tage oder älter ist soll er samt inhalt gelöscht werden.
hat das problem noch jemand oder bin ich wieder allein?

MfG


Andi

Content-Key: 736

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

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

Member: Frank
Frank Aug 21, 2003 at 12:04:32 (UTC)
Goto Top
Hmm, welches Betriebsystem, welche Sprache (Shell, bash, perl, php) ...?
Mitglied: 1672
1672 Aug 21, 2003 at 13:08:14 (UTC)
Goto Top
System ist Windows 2000 Server, soll mit Taskplaner gestartet werden das ganze.
einfach den namen von den ordnern mit dem aktuellen vergelichen, alles was älter als 1 monat ist soll dann gelöscht werden, ich stell mir das nicht schwer vor, steh aber irgendwie auf der leitung.

andi
Member: gt
gt Aug 31, 2003 at 09:13:54 (UTC)
Goto Top
Hallo

da die Outlook-Daten sicherheitsrelevant sind und nur dem jeweiligen User und dem Administrator zugänglich sind (es sei denn die Rechte sind geändert worden) muss dem Taskplaner die Kontoinformation von Administrator oder jemandem mit Zugriffsrecht auf die .pst hinterlegt werden. -Ausführen als... ist je nach Win - Version an anderer Stelle.
Da Sie vermutlich beim manuellen Test als Administrator angemeldet waren hat das Skript geklappt, wenn Windows das mit dem standardmässigen Systemkonto versucht funktioniert es aus o.g. Gründen nicht.


Gruß

G.Tellenbach
Member: gt
gt Aug 31, 2003 at 09:38:11 (UTC)
Goto Top
Nochmal hallo

sorry bin neu hier und habe den falschen Thread erwischt .... Naja. War ja wenigstens der gleiche User .... Schäm.

Wenn Sie über den Taskplaner automatisch Dateien löschen wollen die z.B. älter als 5 Tage sind geht das meines Wissens nur folgendermassen :
In dem Copy-Skript muss eine Zeile enthalten sein die ungefähr so aussieht (möglicherweise habe ich nicht alle notwendigen Schalter im Kopf):

echo del %dd%%mm%.pst >autodel06.bat

Die Variablen DD und MM können im Copy-Skript aus dem Systemdatum erzeugt werden. Mit diesen Variablen kann auch der Dateiname der später zu löschenden Datei erzeugt werden --> rename outlook.pst %DD%%MM.pst .

Danach rufen Sie im Skript über Run ein weiteres Skript auf das zuerst die (beim allererstenmal manuell erstellte) Datei autodel01.bat ausführt, diese dann löscht und autodel02.bat in autodel01.bat renamed die autodel03.bat in autodel02.bat bis zur 06 in 05.

Ist ein bisschen wie durch die Brust ins Auge, klappt aber bei mir auf vielen Ebenen seit Jahren zuverlässig.

Wie Sie aus der Date-Systemvariablen die Variablen DD und MM erstellen können müsste ich Ihnen bei Bedarf nachreichen da ich zu Hause bin und meine Skriptdoku im Büro liegt.

Möglicherweise benötigen Sie das ja auch gar nicht mehr wenn der Taskplaner mit dem richtigen Anmeldekonto korrekt kopiert ?

Gruß
GT
Mitglied: 1672
1672 Sep 04, 2003 at 06:55:42 (UTC)
Goto Top
Das mit dem kopieren klappt, aber noch nicht so wirklich richtig, er lässt einfach manchmal einige files aus.
er erstellt dann die ordner kopiert aber nur 5 von 20 oder manchmal nur 1 oder auch mal alle bis auf 1, also das ist ganz komisch was das skript da macht.
leider verstehe ichnicht so ganz wieso es das macht.
es gibt ja auch leider kein protokoll, wenn man die ausgaben des scripts irgendwie speichern könnte wäre das sehr hilfreich.

andreas schneider