Jeder Administrator kennt das Problem mit dem Löschen von alten Verzeichnisstukturen und Dateien. Spätestens wenn der Server voll fängt man damit an und ganz wild sucht man sich die Codeschnipsel via Google aus dem Netz.
Etwas old-school aber hin und wieder tatsächlich noch nützlich, kann man alte Ordner und Dateien auch via BATCH rekursiv und nach Dateialter löschen lassen.
mit Batch / DOS Kommandozeile
Dafür machen wir uns den Befehel „Forfiles.exe“ zu nutze. Ersetzt einfach <number of days> durch die Anzahl der Tage die eine Datei bzw. ein Ordner alt sein soll. Der Pfad des Ordners wird bei „<Zielordner>“, am besten in Anführungsstrichen angegeben.
forfiles -p "<Zielordner>" -s -m *.* -d <number of days> -c "cmd /c del @path"
Beispiel:
forfiles -p "C:\backup" -s -m *.* -d 30 -c "cmd /c del @path"
Wer mehr über die Möglichkeiten von „forfiles.exe“ erfahren möchte, ruft den Befehl mit dem Hilfeparamter „/?“ auf.
mit Powershell alte Dateien und Ordner löschen
Das Ganze geht natürlich auch mit den modernen Mitteln die Windows zu bieten hat, mit Powershell.
gci "C:\backup" -recurse | ?{!$_.PSIsContainer -and $_.LastWriteTime -lt (Get-date).AddDays(-30)} | Remove-Item -Force
weitere Beiträge zu dem Thema Powershell
- Mit Powershell Systemdaten von Windows Systemen auslesen
- Powershell Programmierung – Tipps für verständliche Scripte
- Mit Powershell alle SCCM Clients auslesen
- WMI-Filter Zusammenstellung
- Active-Directory Clients mit Powershell inventarisieren
- Userprincipalname mit Powershell vervollständigen
- AD-User und AD-Gruppen mit Powershell bearbeiten
- alte Dateien löschen mit Powershell
- verbundene Drucker per Powershell als CSV auslesen
- sämtliche Computer der Active-Directory neu starten
- Passwörter der AD-Accounts mit Set-ADAccountPassword setzen
Schreibe einen Kommentar
Du musst angemeldet sein, um einen Kommentar abzugeben.