Powershell supprime les fichiers uniquement du répertoire


14

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?

Réponses:


18

Essaye ça:

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

Je l'ai trouvé ici: /superuser/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 }

1
Cela répertorie uniquement les fichiers dans le répertoire actuel
— SteB

Mon mauvais, je ne savais pas si tu voulais faire de la rechute. Je vais éditer l'original. Vous pouvez simplement ajouter -recurse à la commande Get-ChildItem
— bourne

Cela fonctionne (supprimer uniquement les fichiers du répertoire spécifié, en ignorant les sous-répertoires): Remove-Item "D: \ MyTemp \ *. *" | Où { ! $ _. PSIsContainer}
— SteB

C'est génial. Heureux que tu es parvenu à le faire fonctionner.
— bourne

Désolé btw SteB, je viens de remarquer que j'ai oublié d'inclure le Remove-Item. Ça va être une longue journée wow!
— bourne

12

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}

1
Cela supprime également les fichiers des sous-répertoires - peut-être pas ce que l'OP avait prévu ...
— Robbie Dee

1
Cette réponse doit être acceptée une. Je vous ai choisis!
— Teoman shipahi

4

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

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

0

@bourne l'a presque:

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

3
Cela ne fournit pas de réponse à la question. Une fois que vous avez une réputation suffisante, vous pourrez commenter n'importe quel message ; fournissez plutôt des réponses qui ne nécessitent pas de clarification de la part du demandeur . - De l'avis
— rnxrx

Que voulez-vous dire qu'il ne fournit pas de réponse? Qu'est ce que ça fait? C'est la seule réponse complète sur la page.
— Mordechai

Ce n'est pas une réponse auto-suffisante. Au point dans votre réponse, c'est une correction à une autre réponse et devrait être inclus en tant que commentaire.
— rnxrx

désolé, je suppose que vous ne comprenez pas PowerShell. Tout simplement parce que je me réfère à une autre réponse, cela ne rend pas la mienne moins "autosuffisante",
— Mordechai

vous voudrez peut-être expliquer le problème avec l'autre réponse, ce qui en fait une commande. Sinon, vous voudrez peut-être expliquer ce que fait votre commande Powershell
— Dennis Nolte
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.