2010-09-05 6 views

Répondre

28

Cette one devrait le faire:

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

Other Version:

$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

parfait - merci! – Tone

+0

Une doublure fonctionne très bien. –

+0

+1 Le one-liner est un bijou. – Sabuncu

4

J'ai tendance à éviter le paramètre -Include sur Get-ChildItem car il est plus lent que -Filter. Cependant, dans ce cas (car il ne peut pas être exprimé en -Filter), ce que je voudrais utiliser:

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

ou si tapant ceci à l'invite:

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

Typo dans celui-ci. Cela ne semble pas fonctionner. –

+0

Pas une faute de frappe, mais le caractère générique '?' Ne fonctionnait pas comme prévu. Il aurait dû correspondre à la fois '_' et' .', mais il ne correspondait pas à '.'. Allez comprendre. –

+0

Je suis confus @Keith. Vous avez dit que vous évitez -include, mais c'est ce que vous avez utilisé. –

Questions connexes