web-dev-qa-db-fra.com

Powershell supprime les fichiers uniquement du répertoire

J'essaie de supprimer tous les fichiers (mais pas les répertoires) du dossier D:\MyTemp, j'ai essayé:

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

Cependant, lorsque je vérifie, tous les fichiers sont toujours là.
Qu'est-ce que je rate?

16
SteB

Essaye ça:

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

Je l'ai trouvé ici: https://superuser.com/questions/150748/have-powershell-get-childitem-return-files-only

Pour supprimer tous les fichiers du répertoire spécifié uniquement (en ignorant les sous-répertoires):

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

La réponse acceptée n'a pas fonctionné pour moi, mais j'avais besoin de:

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

Pour inclure des dossiers ainsi que des fichiers, ajoutez -Recurse:

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

Vous y étiez presque, vous aviez juste besoin de:

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

@bourne l'a presque:

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