Automatische Löschung nach X Tagen – so geht es mit der PowerShell.

Die automatische Löschung von Verzeichnissen gehört zu den Aufgaben, die in vielen Unternehmen regelmäßig anfallen. Ob es darum geht, Upload-Ordner von Mitarbeitern sauber zu halten, temporäre Dateien zu entfernen oder Freigaben vor dem „Zumüllen“ zu schützen – PowerShell bietet dir eine einfache und zuverlässige Möglichkeit, Dateien zeitgesteuert zu löschen.

In Kombination mit der Windows-Aufgabenplanung lässt sich dieser Prozess komplett automatisieren.

In dieser Anleitung zeige ich dir, wie du ein PowerShell-Skript erstellst, das Dateien nach einer definierten Anzahl von Tagen löscht. Zusätzlich kannst du die Windows-Aufgabenplanung verwenden, um die Aufgabe automatisch ausführen zu lassen.

Warum eine automatische Löschung sinnvoll ist

In vielen Organisationen existieren Austausch- oder Sammelordner, in denen Benutzer Dateien zwischenlagern. Oft bleiben diese Daten jedoch lange liegen und blähen das Laufwerk unnötig auf.
Mit einer automatischen Löschung stellst du sicher, dass Dateien nach einem bestimmten Zeitraum entfernt werden, ohne dass jemand manuell eingreifen muss.

Typische Einsatzgebiete:

  • Austauschordner für Teams
  • Uploadverzeichnisse für Anwendungen
  • Temporäre Dateiablagen
  • Filesharing-Bereiche für externe Partner

PowerShell-Skript erstellen

Im ersten Schritt erstellst du eine .ps1-Datei, die später von der Aufgabenplanung ausgeführt wird. Am einfachsten nutzt du dafür Windows PowerShell ISE oder einen beliebigen Editor wie Visual Studio Code.

Öffne PowerShell ISE als Administrator und füge folgendes Skript ein:

$Alter = -30
$Path = "E:\"
Get-Childitem $Path -Recurse |
Where-Object { $CreationTime -lt (Get-Date).AddDays($Alter) -and -not $PSIsContainer } |
ForEach-Object { Remove-Item $Path -Force }

Was bedeuten die Parameter?

  • $Alter = -30

Hier legst du fest, nach wie vielen Tagen Dateien gelöscht werden sollen. Der Wert muss negativ angegeben werden, da AddDays() rückwärtsrechnet.

  • $Path = “D:…”

Der Pfad zu deinem Zielordner. Passe ihn an deine Umgebung an.

  • Get-ChildItem -Recurse

Liest alle Dateien und Unterordner aus.

  • CreationTime

Es wird bewusst nach dem Erstelldatum gefiltert, da es beim Verschieben aktualisiert wird und damit für zeitbasierte Löschvorgänge geeigneter ist als das Änderungsdatum.

  • Remove-Item -Force

Löscht die entsprechende Datei endgültig.

Speichere das Skript anschließend z. B. als automatische_loeschung.ps1 unter C:\Scripts.

Automatische Löschung – Ausführung über die Windows-Aufgabenplanung

Damit PowerShell dein Skript regelmäßig ausführt, richtest du eine geplante Aufgabe in der Windows Aufgabenplanung ein.

Neue Aufgabe anlegen

  • Öffne die Aufgabenplanung.
  • Wähle „Aufgabe erstellen…“ aus (nicht „Einfache Aufgabe erstellen“).
  • Gib der Aufgabe einen Namen, z. B. AutomatischeDateiloeschung.
  • Setze ein Häkchen bei

„Unabhängig von der Benutzeranmeldung ausführen.

Dies stellt sicher, dass das Skript auch läuft, wenn du nicht angemeldet bist.

Trigger festlegen

Unter „Trigger“ definierst du, wann das Skript ausgeführt wird.

Beispiel:

  • Täglich um 02:00 Uhr

Damit wird der Ordner jede Nacht überprüft und bereinigt.

Automatische Löschung nach X Tagen per Aufgabenplanung
Automatische Löschung nach X Tagen per Aufgabenplanung

Aktion konfigurieren

Unter „Aktionen“ trägst du Folgendes ein:

  • Programm/Skript:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

Hinweis: Der Pfad kann je nach Windows-Version leicht variieren. Prüfe ggf. die Datei direkt im Explorer.

Argumente hinzufügen (optional):

-command "C:\Scripts\automatische\_loeschung.ps1"

Damit führst du dein Skript direkt aus, sobald die Aufgabe startet.

Sinnvolle Optionen

Damit die Aufgabe stabil und fehlerfrei läuft, empfehle ich:

  • „Mit höchsten Privilegien ausführen“ aktivieren
  • „Aufgabe so schnell wie möglich nach einem verpassten Start ausführen“ aktivieren
  • Benutzerkonto: ein Service-Konto ohne Ablaufdatum

Datensicherung und Backup erstellen

Grundsätzlich solltest du immer von deinen Systemen eine Datensicherung erstellen. Vor allem, wenn du aber tiefergreifende Änderungen vornimmst, ist es vorher umso ratsamer, eine Sicherung zu erstellen. Du kannst hierfür z. B. bordeigene Tools wie die Windows Robocopy verwenden, oder aber professionelle Sicherungsprogramme wie EaseUS Todo Backup Free*, welche dir mehr Optionen bieten.

Fazit

Die Kombination aus PowerShell und Aufgabenplanung bietet dir eine robuste, flexible und leicht anpassbare Lösung, um eine automatische Löschung von Dateien nach einem bestimmten Zeitraum durchführen zu lassen. Besonders in Unternehmensumgebungen können so temporäre Ordner sauber gehalten und Speicherkapazitäten besser genutzt werden – ohne manuelle Eingriffe.

Mit wenigen Zeilen Code und einer kurzen Einrichtung der Aufgabenplanung hast du eine Aufgabe automatisiert, die sonst häufig vernachlässigt wird. Passe das Beispiel einfach an deine Ordnerstrukturen und Anforderungen an, und schon hält Windows deinen Austauschordner zuverlässig sauber.

Der Blogbetreiber und Autor: Markus Elsberger

Über den Autor

Mein Name ist Markus Elsberger und ich beschäftige mich mit der Administration von Windows und Linux-Systemen sowie mit diversen Themen bzgl. Netzwerktechnik. In meiner Lehrtätigkeit erstelle ich verschiedene Szenarien und teste auch verschiedene Konfigurationen, welche ich in diesem Blog festhalten möchte. Unterstütze das Blog mit einer Spende!


Kostenlose Befehlsreferenzen und E-Books
(Netzwerkanalyse, Benutzerverwaltung, Festplattenkonfiguration, u. v. m.)


Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kostenlose E-Books für die IT-Administration

Steigere deine IT-Kompetenzen

Ebook - 10 Schritte nach der Windows Installation
Close the CTA

Windows 11, Windows Server, Docker, PowerShell Referenzen, Batch, Linux Terminal, 

u.v.m.