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.