it-swarm.com.de

Powershell löscht Dateien nur aus dem Verzeichnis

Ich versuche, alle Dateien (aber keine Verzeichnisse) im Ordner D:\MyTemp zu löschen. Ich habe versucht:

Remove-Item "D:\MyTemp"
Remove-Item "D:\MyTemp\*"

Wenn ich jedoch überprüfe, sind alle Dateien noch vorhanden.
Was vermisse ich?

16
SteB

Versuche dies:

Get-ChildItem *.* -recurse | Where { ! $_.PSIsContainer }

Fand es hier: https://superuser.com/questions/150748/have-powershell-get-childitem-return-files-only

So löschen Sie alle Dateien nur im angegebenen Verzeichnis (ohne Unterverzeichnisse):

Remove-Item "D:\MyTemp\*.*" | Where { ! $_.PSIsContainer }
19
bourne

Die akzeptierte Antwort funktionierte bei mir nicht, stattdessen brauchte ich:

Get-Childitem -File | Foreach-Object {Remove-Item $_.FullName}

Fügen Sie -Recurse Hinzu, um Ordner und Dateien einzuschließen:

Get-Childitem -File -Recurse | Foreach-Object {Remove-Item $_.FullName}
14
79E09796

Sie waren fast da, Sie brauchten nur:

Remove-Item "D:\MyTemp\*.*"
4
Robbie Dee

@bourne hatte es fast:

Get-ChildItem *.* -recurse | Where { ! $_.PSIsContainer } | remove-item
1
Mordechai