Mit PowerShell und der Windows Aufgabenplanung kannst Du Dateien in einem Ordner automatisch nach einer bestimmten Zeit löschen lassen. Ein Beispiel hierfür wäre, Dateien in einem Ordner nach 30 Tagen zu entfernen, die Mitarbeiter in einem Unternehmen zum Austausch verwendet haben. Es ist wichtig zu wissen, dass beim Verschieben einer Datei nur das „Erstelldatum“ geändert wird, das „Änderungsdatum“ bleibt gleich. Daher wird in diesem PowerShell-Skript nach dem „Erstelldatum“ gefiltert.
Contents
Erstellung der .ps1 Datei mit PowerShell
Du kannst eine .ps1 Datei mit Windows PowerShell ISE erstellen, die später von der Aufgabenplanung automatisch ausgeführt wird. Öffne Windows PowerShell ISE als Administrator, füge das untenstehende Skript ein, passe es an und speichere es dann beispielsweise als automatische_loeschung.ps1.
PowerShell-Skript
In der Zeile „$Alter = -30“ gibst Du die Tage an, nach denen die Dateien gelöscht werden sollen. Die Tage müssen mit einem Minuszeichen angegeben werden. In der Zeile „$Path = “D:AllgemeinAustausch (max. 30 Tage)”“ trägst Du den Pfad des Ordners ein, aus dem die Dateien gelöscht werden sollen. In diesem Beispiel ist der Pfad „D:AllgemeinAustausch (max. 30 Tage)“.
$Alter = -30
$Path = „D:AllgemeinAustausch (max. 30 Tage)“
Get-Childitem $Path -recurse | where {$_.CreationTime -lt (get-date).adddays($Alter) -and -not $_.psiscontainer} |% {remove-item $_.fullname -force }
Einrichtung der Windows Aufgabenplanung
Damit das Skript automatisiert ausgeführt wird, brauchst Du die Windows Aufgabenplanung. Die Aufgabe sollte unabhängig von der Benutzeranmeldung laufen. Ich habe den Trigger auf Täglich um 2:00 Uhr morgens eingestellt. Unter „Aktion“ musst Du bei „Programm/Skript“ den Pfad zur powershell.exe eintragen: C:WindowsSystem32WindowsPowerShellv1.0powershell.exe
(Es kann sein, dass die PowerShell.exe bei Dir in einem anderen Pfad liegt).
Argumente hinzufügen
Bei „Argumente hinzufügen“ gibst Du ein „-command“ gefolgt von dem Pfad des PowerShell-Skripts ein. In diesem Beispiel wäre das: -command “c:automatische_loeschung.ps1”
. Bestätige mit OK und fertig!