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-ID: 290375

Url: https://administrator.de/forum/temp-ordner-mit-script-mit-variablem-tagesrythmus-loeschen-290375.html

Ausgedruckt am: 16.04.2025 um 19:04 Uhr

laster
laster 08.12.2015 um 12:37:32 Uhr
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
ThunderbirdOP
ThunderbirdOP 08.12.2015 um 12:40:44 Uhr
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.
122990
122990 08.12.2015 um 12:48:54 Uhr
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
laster
laster 08.12.2015 aktualisiert um 14:29:10 Uhr
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?
ThunderbirdOP
ThunderbirdOP 08.12.2015 um 14:35:40 Uhr
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.
122990
122990 08.12.2015 aktualisiert um 15:10:40 Uhr
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 ...
ThunderbirdOP
ThunderbirdOP 08.12.2015 um 15:40:56 Uhr
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!!
122990
Lösung 122990 08.12.2015 aktualisiert um 16:02:40 Uhr
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
ThunderbirdOP
ThunderbirdOP 08.12.2015 um 16:02:56 Uhr
Goto Top
Vielen, vielen Dank!!