Quel est le moyen le plus simple de supprimer de force un répertoire et tous ses sous-répertoires dans PowerShell ? J'utilise PowerShell V2 sous Windows 7.
J'ai appris de plusieurs sources que la commande la plus évidente, Remove-Item $targetDir -Recurse -Force
ne fonctionne pas correctement. Cela inclut une déclaration dans l'aide en ligne de PowerShell V2 (trouvée en utilisant Get-Help Remove-Item -Examples
) qui stipule :
...Comme le paramètre Recurse de cette cmdlet est défectueux, la commande utilise la cmdlet Get-Childitem pour obtenir les fichiers souhaités, et elle utilise l'opérateur pipeline pour les transmettre à la cmdlet Remove-Item...
J'ai vu plusieurs exemples qui utilisent Get-ChildItem et l'envoyer à Remove-Item mais les exemples suppriment généralement un ensemble de fichiers en fonction d'un filtre, et non le répertoire entier.
Je cherche le moyen le plus propre de faire sauter un répertoire entier, des fichiers et des répertoires enfants, sans générer de messages d'avertissement pour l'utilisateur et en utilisant le moins de code possible. Une solution en une seule ligne serait la bienvenue si elle est facile à comprendre.
2 votes
Powershell, je sais, mais
RD /S /Q
0 votes
Duplicata possible : stackoverflow.com/questions/1667145/
0 votes
Je ne pense pas que ce soit un doublon. J'ai examiné la question 1667145 avant de la poster. Il s'agit de savoir pourquoi PowerShell ne définit pas correctement le paramètre bool Recurse lors de l'appel de l'implémentation de la méthode Remove-Item d'un fournisseur PowerShell personnalisé. Je demandais le comportement de Remove-Item en relation avec le fournisseur de système de fichiers intégré.
2 votes
"RD /S /Q" ne semble pas fonctionner dans PowerShell -- indique "Remove-Item : Impossible de trouver un paramètre positionnel qui accepte l'argument '/q'".
8 votes
rd
est un alias pourRemove-Item
dans powershell.cmd /c "rd /s /q"
fonctionne, cependant.3 votes
Je n'arrive pas à croire que powershell casse les fonctionnalités de base comme ça en cachant des commandes msdos parfaitement fonctionnelles ! Vous pouvez utiliser rmdir ou rd dans cmd mais ils sont tous les deux détournés dans powershell.
1 votes
Il y a aussi ceci : stackoverflow.com/a/53561052/284111