uridium69
Goto Top

Temporäre Dateien nach 90 Tagen löschen

Moin miteinander

Ich habe ein Script erstellt welches in einem Ordner Temp auf unserem Fileserver alle Dateien und Ordner die älter als 90 Tage sind, löschen soll, dies funktioniert soweit gut, sobald aber Ordner kommen, bleibt das Script stehen mit der Frage, diesen Ordner und Inahlt und ggf. weiteren Unterordner löschen J/N, dies sollte natürlich automatisch immer mit Ja beantwortet werden, ein Ordner muss jedoch bleiben Scans, dieser soll nicht angefasst werden. Wie kann ich das am gescheitesten machen?

Hier das Script:

echo on
rem * Delete Files older than 90 Days in Folder W:\Temp\, except the Folder "Scans" *
rem ***
net use x: \\mail\data\temp
ForFiles /s /d -90 /c "cmd /c del @File"

Danke für Eure Hilfe


Der Ordner Temp dient dazu für den kurzzeitigen Austausch von Dateien, welches spätestens nach 90 Tagen gelöscht werden, ev. werde ich diesen Zyklus auf 60 Tage oder weniger festlegen, mal sehen was sich bewährt.

Content-Key: 453772

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

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

Member: Kraemer
Kraemer May 20, 2019 at 15:01:21 (UTC)
Goto Top
Moin,
Zitat von @uridium69:

Wie kann ich das am gescheitesten machen?
Mit Powershell.
Member: emeriks
emeriks May 20, 2019 updated at 15:10:05 (UTC)
Goto Top
Hi,
das kann ich nicht ganz nachvollziehen.
Außerdem: Wenn Du auch in Unterordnern suchst, dann müsstest Du doch auch im "del" die Variable "@Path" statt "@File" verwenden?

E.
Mitglied: 139708
139708 May 20, 2019 updated at 15:23:50 (UTC)
Goto Top
powershell -NoP -ep Bypass -C "gci '\\mail\data\temp' -Recurse -File | ?{$_.Directory.Name -ne 'Scans' -and $_.LastWriteTime -lt (get-date).AddDays(-30)} | del -Force"  
Gruß w.