Löschung nach X Stunden
Hallo
ich würde gerne in einen Ordner Dateien älter 15 Stunden per Powershell löschen, was mache ich verkehrt?. Es löscht einfach nicht
ich würde gerne in einen Ordner Dateien älter 15 Stunden per Powershell löschen, was mache ich verkehrt?. Es löscht einfach nicht
gci -Path "D:/Hier Löschen" -Recurse -Force | ?{!$_.PSIsContainer -and $_.CreationTime -lt (Get-Date).AddHours(-15)} | Remove-Item -Force
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 377043
Url: https://administrator.de/contentid/377043
Ausgedruckt am: 22.11.2024 um 05:11 Uhr
5 Kommentare
Neuester Kommentar
Es löscht einfach nicht
Joa, kürzer geht's dann auch wieder mal nicht ...- Die Frage ist eher was bekommst du für eine Fehlermeldung bzw. welche Dateien werden dir angezeigt wenn du das "Remove-Item -Force" in der Pipeline erst einmal weg lässt?
- Wie sehen die Zugriffsrechte auf den Ordner aus?
- Erstelldatum und Zeit wurden exakt überprüft?
Die Syntax ist soweit erst mal i.O.
Beachte das bei Get-ChildItem und Verwendung des -Path Parameters spezielle Zeichen wie Eckige Klammern etc. zum Filtern mehrerer Ordner interpretiert werden könnten. Wenn der Pfad rein als String interpretiert werden soll nutze stattdessen -LiteralPath dafür.
Grüße Uwe
Zitat von @Knuefi:
Hallo Uwe,
ich bekomme leider keine Fehlermeldung, es läuft durch aber die Dateien älter 15 Stunden bleiben erhalten.
Beantworte bitte meine Frage im ersten Punkt.Hallo Uwe,
ich bekomme leider keine Fehlermeldung, es läuft durch aber die Dateien älter 15 Stunden bleiben erhalten.
"welche Dateien werden dir angezeigt wenn du das "Remove-Item -Force" in der Pipeline erst einmal weg lässt?"
Es bringt dir nämlich nichts wenn du nicht vorher siehst was der Filter ergibt.
Ich habe zur Sicherheit es mal in einen lokalen Ordner versucht, leider das selbe Ergebnis.
Dann sind die Dateien nicht älter als 15 Stunden. Bitte beachte das Erstelldatum und LastWriteTime nicht das selbe sind und natürlich unterschiedlich sein können, Nutze das korrekte Datum!Ich habe es mal mit den selben Dateien im Ordner, aber in Code älter als 1 Tag ausprobiert und siehe da, es werde alle Dateien älter 1 Tag gelöscht. Das kann ich nicht nachvollziehen.
Du meinst wohl AddDays(-1)
> AddDate(-1)
Du hast zu 99% einen Interpretations- /Flüchtigkeitsfehler.
Erstelldatum und Zeit wurden exakt überprüft
Was meinst du damit?
Na das du das Erstelldatum das du hier ja abfragst kontrolliert hast und nicht fälschlicherweise das Änderungsdatum welches standardmäßig im Explorer angezeigt wird.Was meinst du damit?
Btw
"D:/Hier Löschen"
Backslash ist Windows best friend, macht aber der Powershell hier jetzt nichts aus.
Hallo @Knuefi,
ist zwar anscheinend schon gelöst, aber hier noch ein Ansatz für Dateien und Ordner:
Dateien löschen, die älter als x Tage
Ordner löschen, die älter als x Tage
Gruß joe
ist zwar anscheinend schon gelöst, aber hier noch ein Ansatz für Dateien und Ordner:
Dateien löschen, die älter als x Tage
Ordner löschen, die älter als x Tage
Gruß joe