Erstellen eines Logon Script, welches alle Dateien/Ordner aus dem Download Ordner löscht, welche älter als 6 Monate sind?
Ich bräuchte ein Script (Batch, Powershell), welches alle Dateien und Ordner aus dem Windows Download Ordner löscht, die älter sind als 6 Monate.
Kann mir hier jemand helfen habe es bereits versucht bin aber gescheitert.
Vielen Dank!
Mein Versuch/Powershell Script:
# Definiere den Pfad zum Windows-Download-Ordner
$DownloadOrdner = [Environment]::GetFolderPath("Downloads")
# Definiere das Datum, das 6 Monate in der Vergangenheit liegt
$SechsMonateVorher = (Get-Date).AddMonths(-6)
# Hole alle Dateien und Ordner im Download-Ordner, die älter als 6 Monate sind
$ZuLöschendeElemente = Get-ChildItem -Path $DownloadOrdner -Recurse | Where-Object { $_.LastWriteTime -lt $SechsMonateVorher }
# Lösche die ausgewählten Dateien und Ordner
$ZuLöschendeElemente | Remove-Item -Recurse -Force
# Pfad zum Zielordner
$targetFolder = "C:\Users\Admin\Downloads"
Weiterer Versuch:
# Datum vor 6 Monaten berechnen
$cutoffDate = (Get-Date).AddMonths(-6)
# Alle Dateien im Zielordner abrufen, die älter als das Schnittdatum sind, und sie löschen
Get-ChildItem -Path $targetFolder | Where-Object { $_.LastWriteTime -lt $cutoffDate } | Remove-Item -Force
Write-Host "Dateien, die älter als $cutoffDate sind, wurden gelöscht."
1 Antwort
Import-Module "RecycleBin"
# Definiere den Pfad zum Zielordner
$targetFolder = "C:\Users\Admin\Downloads"
# Datum vor 6 Monaten berechnen
$cutoffDate = (Get-Date).AddMonths(-6)
# Alle Dateien und Ordner im Zielordner abrufen, die älter als 6 Monate sind
$zuLöschendeElemente = Get-ChildItem -Path $targetFolder -Recurse | Where-Object { $_.LastWriteTime -lt $cutoffDate }
# Lösche die ausgewählten Dateien und Ordner in den Papierkorb
$zuLöschendeElemente | Recycle-Item -Force
# Ausgabe
Write-Host "** Alle Dateien und Ordner, die älter als $cutoffDate sind, wurden in den Papierkorb verschoben. **"
du brauchst RecycleBin
Du musst natürlich drauf achten das skript mit Admin rechten auszuführen und vorallendingen musst du das skript in der PowerShell-Konsole ausführen, nicht in einem anderen Editor.
Wenn der Pfad wirklich richtig ist, schau mal im Internet nach Anweisungen die dir helfen können dein Problem im code zu finden.
Mit -ErrorAction Stop in Powershell bekommst du eine detaillierte Fehlermeldung und er bleibt an der Stelle des Fehlers stehen.
Dann bist du schonmal viel weiter
Habe das Skript mit Admin rechten und in der Powershell ausgeführt, dein oben stehender Code funktioniert so?
Aber das komische ist die Dateien werden nicht einmal aus dem Download Ordner entfernt? Sie kommen ja nicht einmal in de Papierkorb, es passiert gar nichts.