thunderbirdop
Goto Top

Temp Ordner mit Script mit variablem Tagesrythmus löschen

Hallo zusammen,

ich bräuchte Hilfe bei folgender Aufgabenstellung:

Ich muss ein Script mit Windows Board-Mitteln erstellen (Batch, Powershell, o.ä), welches einen Ordner nach bestimmten Regeln löschen soll:

1. Alles bis auf die letzten zwei Tage und natürlich den aktuellen soll gelöscht werden.
3. Wochenden (Samstag, Sonntag) bleiben am Montag und Dienstag auch bestehen.


Beispiel:

Montag: Donnerstag, Freitag, Samstag, Sonntag, (Montag) bleiben bestehen && Alles vor Donnerstag wird gelöscht.

Dienstag: Donnerstag, Freitag, Samstag, Sonntag, Montag, (Dienstag) && Alles vor Donnerstag wird gelöscht.

Mittwoch: Montag, Dienstag, (Mittwoch) bleiben bestehen&& Alles vor Montag wird gelöscht.

Bisher habe ich nur herausgefunden, dass das mit Batch nicht möglich ist, aber wohl mit Powershell per "GetDate".

Content-Key: 290375

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

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

Member: laster
laster Dec 08, 2015 at 11:37:32 (UTC)
Goto Top
Hallo,

Programm zum löschen 'alter' Dateien: delage32.exe (http://www.horstmuc.de/wbat32d.htm)
Wochentag ermitteln: Wochentag per Batch ermitteln
Der Rest sollte einfach sein...

vG
LS
Member: ThunderbirdOP
ThunderbirdOP Dec 08, 2015 at 11:40:44 (UTC)
Goto Top
Ich muss das ganze ohne ThirdParty machen. Allerdings werde ich ich aus deinem zweiten Link auch nicht schlau. Ich kenne mich so ziemlich null damit aus.
Mitglied: 122990
122990 Dec 08, 2015 at 11:48:54 (UTC)
Goto Top
Das solltest du nach deinen Bedürfnissen anpassen können
gci c:\Ordner | ?{$_.PSIsContainer -and $_.CreationTime -lt (get-date).AddDays(-2).Date} | remove-item -recurse -Force
Gruß grexit
Member: laster
laster Dec 08, 2015 updated at 13:29:10 (UTC)
Goto Top
Allerdings werde ich ich aus deinem zweiten Link auch nicht schlau
komisch ...
Der erste Link beschreibt ein kleines Hilfsprogramm, welches Dateien löscht, die eine bestimmte Anzahl von Tagen alt sind. Erklärung in deutsch und für mich sehr gut verständlich.
Der zweite Link verweist auf einen Beitrag, wo es darum geht, den aktuellen Wochentag zu ermitteln: Wochentag per Batch ermitteln
Du hast ja die Anforderung, am Mo und Di die Ordner vom Wochenende nicht löschen. Also musst Du ermitteln, welcher Wochentag ist ...

Einigermaßen verständlich?
Member: ThunderbirdOP
ThunderbirdOP Dec 08, 2015 at 13:35:40 (UTC)
Goto Top
Das ist schonmal sehr gut! Da ich leider gerade keine Dateien von Sonntag und Samstag habe kann ich leider nicht testen ob er diese auch löscht.
Kannst du mir da Auskunft geben? Ich erkenne in dem Script nur das du das Datum holst dann die letzten zwei Tage abziehst und diese Dateien dann vor den 2 Tagen löschst.
Mitglied: 122990
122990 Dec 08, 2015 updated at 14:10:40 (UTC)
Goto Top
Zitat von @ThunderbirdOP:

Das ist schonmal sehr gut! Da ich leider gerade keine Dateien von Sonntag und Samstag habe kann ich leider nicht testen ob er diese auch löscht.
Kannst du mir da Auskunft geben? Ich erkenne in dem Script nur das du das Datum holst dann die letzten zwei Tage abziehst und diese Dateien dann vor den 2 Tagen löschst.
Samstag und Sonntag sind für die Datumsberechnung mit AddDays(-2) ganz normale Tage, also behält er auch diese bei ...
Member: ThunderbirdOP
ThunderbirdOP Dec 08, 2015 at 14:40:56 (UTC)
Goto Top
Okay dann bräuchte ich eine Version, in der auch erkannt wird ob es ein Montag oder Dienstag ist und dann in dem Fall die letzten 4 Tage behält. Ansonsten vielen Dank für die Antwort!!
Mitglied: 122990
Solution 122990 Dec 08, 2015 updated at 15:02:40 (UTC)
Goto Top
Zitat von @ThunderbirdOP:

Okay dann bräuchte ich eine Version, in der auch erkannt wird ob es ein Montag oder Dienstag ist und dann in dem Fall die letzten 4 Tage behält. Ansonsten vielen Dank für die Antwort!!
Na das ist ja nun absolut kein Hexenwerk, einfach ne If-Abfrage rein feddich.
If((get-date).DayofWeek -match '[1-2]'){$d = -4}else{$d = -2}  
gci c:\Ordner | ?{$_.PSIsContainer -and $_.CreationTime -lt (get-date).AddDays($d).Date} | remove-item -recurse -Force
Member: ThunderbirdOP
ThunderbirdOP Dec 08, 2015 at 15:02:56 (UTC)
Goto Top
Vielen, vielen Dank!!