Erstellen eines Logon Script, welches alle Dateien/Ordner aus dem Download Ordner löscht, welche älter als 6 Monate sind?


02.02.2024, 13:46

# 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

Woher ich das weiß:Hobby – Programmierer
AndiGoldberg983 
Fragesteller
 02.02.2024, 14:06

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.

0
JulianOnFire  02.02.2024, 14:18
@AndiGoldberg983

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

0
AndiGoldberg983 
Fragesteller
 05.02.2024, 08:07
@JulianOnFire

Habe das Skript mit Admin rechten und in der Powershell ausgeführt, dein oben stehender Code funktioniert so?

0