2010-09-05 15 views

Respuesta

28

Este one debería hacerlo:

get-childitem -Include .svn -Recurse -force | Remove-Item -Force –Recurse 

Other versión:

$fso = New-Object -com "Scripting.FileSystemObject" 
$folder = $fso.GetFolder("C:\Test\") 

foreach ($subfolder in $folder.SubFolders) 
{ 
    If ($subfolder.Name -like "*.svn") 
    { 
     remove-item $subfolder.Path -Verbose 
    }  
} 
+0

perfecta - gracias! – Tone

+0

One-liner funciona muy bien. –

+0

+1 El one-liner es una joya. – Sabuncu

4

tiendo a evitar el parámetro -Include en Get-ChildItem, ya que es más lento que -Filter. Sin embargo, en este caso (ya que no puede ser expresado como una -Filter), esto es lo que yo usaría:

Get-ChildItem . -Include .svn,_svn -Recurse -Force | Remove-Item -Recurse -Force 

o si escribiendo esto en el indicador:

ls . -inc .svn,_svn -r -fo | ri -r -fo 
+0

Error en el este. Tampoco parece funcionar. –

+0

No es un error tipográfico, pero el carácter comodín '?' No funcionaba como esperaba. Debería haber coincidido con '_' y' .', pero no coincidía con '.'. Imagínate. –

+0

Estoy confundido @Keith. Dijiste que evitas -includes, pero eso es lo que usaste. –

Cuestiones relacionadas