Powershell Script soll Dateien löschen ohne Bestätigung/Nachfrage ob die Datei oder der Ordner gelöscht werden soll?
Ich habe ein Powershell Script erstellt, welches alle Dateien im Downloadordner mit einem gewissen Dateialter löschen soll. Dies hat funktioniert, nur wenn ich es ausführe und ein Ordner einen Unterordner besitzt, erhalte ich eine Abfrage/Meldung worin steht "Das Element ... verfügt über untergeordnete Elemente, und der Recurse-Parameter wurde nicht angegeben."
Get-ChildItem -Path "C:\Users\Admin\Downloads" -Recurse | Where-Object CreationTime -lt (Get-Date).AddMonths(-9) | Remove-Item -Force
Ich habe bereits -Force angegeben um eine Meldebestätigung zu vermeiden und dass die Dateien gelöscht werden ohne Abfrage. Kann mir jemand weiterhelfen?
2 Antworten
Dein Kommando "Get-ChildItem" dürfte auch Verzeichnisse liefern und von daher würde ich das ganze Skript nochmals überdenken, wie man das auf "nur Dateien finden" einschränkt (ein 5 Jahre alte Verzeichnis willst Du sicher nicht entfernen, wenn sich darin Deine gestern überarbeitete Master-Thesis befindet).
Erster Kandidat einer Option wäre auf den ersten Blick die Option "-File".
Das habe ich schon verstanden. Aber Du die Antwort nicht, sonst würdest den Kommentar jetzt nicht schreiben. Aber gut, dann nicht ...
Ich habe es schon gelesen, kenne aber die -file Funktion nicht. Könntest du mir nicht einen Vorschlag geben wie ich das ganze Konstrukt angehe?
Ich denke, der Force Parameter bei Get-ChildItem ist zuviel.
Versuch mal:
Get-ChildItem -Path "C:\Users\Admin\Downloads" -Recurse | Where-Object CreationTime -lt (Get-Date).AddMonths(-9) | Remove-Item -Force
war mein erster Versuch, dachte vielleicht er fehlt dort
Nein habe es ja wie gesagt bei meinem ersten Versuch so probiert, also ohne -Force bei der Suche
Du musst schon genau hinschauen, was ich geändert habe und nicht nur sagen "Nein, geht nicht!".
Was soll das jetzt heißen, ich habe doch geschaut was du geändert hast. Habe es dann nochmals so versucht und es funktioniert nicht!!! Du hast lediglich das erste -Force weggelassen, mehr nicht.
Mehrere Ausrufezeichen machen deine Aussage auch nicht besser 😉
Was kommen denn für Fehlermeldungen? Immer noch die gleichen?
Ich glaube du solltest meine Fragen lieber genauer lesen und falls du das nötige Wissen hast, dann kannst du auch hilfreiche Antworten senden.
Natürlich kommt noch dieselbe Fehlermeldung. Deinen Quelltext den du mir geschrieben hast habe ich bei meinem ersten Versuch verwendet und die Fehlermeldung ist die Gleiche! Verstehst du das? :)
Genau um das geht es, es soll alle Art von Dateien aus dem Download Ordner des Users gelöscht werden.