florian86
Goto Top

PS Dateien löschen mit 0kb

Hallo,

ich habe auf unseren Fileserver immer wieder das Problem, das Temporäre Officedateien mit 0KB
überbleiben und dies es späteren öffnen der User der Originaldatei zu Problemen kommt.

Jetzt möchte ich diese per PS täglich löschen oder in Verzeichniss verschieben.

get-childitem -path "c:\temp" -include *.* -recurse | where-object {$_.lenght -eq 0} | remove-item whatif

Ohne diese Angabe where-object {$_.lenght -eq 0} listet er mir logischerweise alles auf.
Sobald ich aber die Angabe auf gleich null mache listet er mir keine Dateien mehr auf.

Wo ist da mein Denkfehler?

Danke für eure Antworten

MfG

Florian

Content-Key: 329601

Url: https://administrator.de/contentid/329601

Printed on: April 25, 2024 at 12:04 o'clock

Mitglied: 132272
Solution 132272 Feb 16, 2017 updated at 07:08:04 (UTC)
Goto Top
Schreibfehler face-smile lenght und ein -Force im Get-ChildItem braucht es auch um versteckte Dateien zu verarbeiten.
gci -path "c:\temp" -recurse -Force | ?{!$_.PSIscontainer -and $_.length -eq 0} | remove-item -force -whatif  

Gruß

p.s. hatten wir auch schon hier
0 KB dateien automatisch löschen
Member: Florian86
Florian86 Feb 16, 2017 at 08:01:22 (UTC)
Goto Top
kannst du mir noch sagen was der Ausdruck macht !$_.PSIscontainer ???

Weil es auch ohne funktioniert.

MfG

Florian
Mitglied: 132272
132272 Feb 16, 2017 updated at 09:29:33 (UTC)
Goto Top
Zitat von @Florian86:

kannst du mir noch sagen was der Ausdruck macht !$_.PSIscontainer ???
Der sagt das du nur nach Dateien suchst und nicht nach Ordnern! Denn Get-Childitem liefert auch Ordner zurück! Deswegen ! (NOT) $_.PSIsContainer (Container /Ordner)
In neueren Powershell Versionen >=3 kennt Get-ChildItem zusätzlich die Parameter -File und -Directory dann kann das nachträgliche Prüfen entfallen. Habe das oben der Kompatibilität mit PS 2.0 wegen so ausgeführt.
Member: Florian86
Florian86 Feb 16, 2017 at 09:53:52 (UTC)
Goto Top
ah ok danke.