2011-01-20 16 views
22

estoy ejecutando el siguiente comando:confirmación automática de supresión en powershell

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

Lo que me pide con mucha frecuencia como esto:

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"): 

¿Cómo puedo tener que ajusta automáticamente en "A" ?

Respuesta

16

Intente utilizar el parámetro -Force en Remove-Item.

+0

funciona perfectamente ... gracias! – siliconpi

+0

no funciona para mí :( Remove-Item iis: $ IISSitePath -Force – smnbss

+2

@smnbss add -current a su comando remove-item –

24

Agregar -confirmar: $ false para suprimir la confirmación.

+1

Esto NO funcionará. -Confirmar es para forzar la confirmación. Tenerlo solo ejecuta la normalidad decisión lógica. – JasonMArcher

+6

funcionó para mí. –

+1

Siempre me funcionó. – mjolinor

8

Añadir -recurse después de que el elemento-remove, también el parámetro force ayuda a eliminar los archivos ocultos ej .:

GCI C: "SVN" \ temp \ -exclude * .svn-base, -recurse | % {ri $ _ -force -recurse}

+0

'-recurse' impide la confirmación para eliminar carpetas no vacías. Gracias. –

22

El valor predeterminado es: sin solicitud.

se puede habilitar con -confirm o desactivar con -confirm:$false

Sin embargo, éste seguirá rápida, cuando el objetivo:

  • es un directorio
  • y es no está vacio
  • yEl parámetrono está especificado.

Para resumir:

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

... debe cubrir todos los escenarios.

+1

Solo una que funcionó para mi. – MiloTheGreat

0

Solo necesita agregar /A detrás de la línea.

Ejemplo:

get-childitem C:\temp\ -exclude *.svn-base,".svn" -recurse | foreach ($_) {remove-item $_.fullname} /a 
3
Remove-Item .\foldertodelete -Force -Recurse 
Cuestiones relacionadas