J'exécute la commande suivante:
get-childitem C:\temp\ -exclude *.svn-base,".svn" -recurse | foreach ($_) {remove-item $_.fullname}
Ce qui m'invite très souvent comme ceci:
Confirm
The item at C:\temp\f\a\d has children and the Recurse parameter was not specified. If you continue,
all children will be removed with the item. Are you sure you want to continue?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):
Comment puis-je le régler automatiquement sur "A"?
Essayez d'utiliser le -Force
paramètre sur Remove-Item
.
La valeur par défaut est: pas d'invite.
Vous pouvez l'activer avec -Confirm
Ou le désactiver avec -Confirm:$false
Cependant, il sera toujours invite, lorsque la cible:
-Recurse
n'est pas spécifié.-Force
Est également requis pour supprimer également les éléments masqués et en lecture seule, etc.
Pour résumer:
Remove-Item -Recurse -Force -Confirm:$false
... devrait couvrir tous les scénarios.
Ajoutez - confirmez: $ false pour supprimer la confirmation.
Ajoutez -recurse après la suppression de l'élément, le paramètre -force permet également de supprimer les fichiers cachés, par exemple:
gci C:\temp\-exclude * .svn-base, ". svn" -recurse | % {ri $ _ -force -recurse}
Remove-Item .\foldertodelete -Force -Recurse
Vous avez juste besoin d'ajouter un /A
derrière la ligne.
Exemple:
get-childitem C:\temp\ -exclude *.svn-base,".svn" -recurse | foreach ($_) {remove-item $_.fullname} /a