Confirmation automatique de la suppression dans powershell

J'exécute la commande suivante:

get-childitem C:temp -exclude *.svn-base,".svn" -recurse | foreach ($_) {remove-item $_.fullname}

Qui m'invite très souvent comme ceci:

Confirm
The item at C:tempfad 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 l'avoir automatiquement défini sur "A"?

25
demandé sur siliconpi 2011-01-21 02:08:12

6 réponses

Essayez d'utiliser le -Force paramètre Remove-Item.

18
répondu Keith Hill 2011-01-21 00:03:00

La valeur par défaut est: aucune invite.

, Vous pouvez l'activer avec -confirm ou désactiver avec -confirm:$false

Cependant, il demandera toujours, lorsque la cible:

  • est un répertoire
  • et, il n'est pas vide
  • et le -recurse paramètre n'est pas spécifié.

Pour résumer:

Remove-Item -recurse -force -confirm:$false

...devrait couvrir tous les scénarios.

28
répondu marsze 2014-09-08 07:29:20

Ajouter -confirmer:$false pour supprimer la confirmation.

25
répondu mjolinor 2011-01-21 00:16:58

Add-recurse après le remove-item, le paramètre-force permet également de supprimer les fichiers cachés par exemple:

Dcg C:\temp\ -exclure *.svn-base".svn " - recurse / %{ri $_ -force-recurse}

8
répondu Tamas Szabo 2012-06-14 07:04:37
Remove-Item .\foldertodelete -Force -Recurse
3
répondu Brais Perez 2016-07-11 16:07:02

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
0
répondu Gerald Liew 2015-07-15 03:17:53