2010-09-05 7 views

Antwort

28

Diese one sollte es tun:

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

perfekt - danke! – Tone

+0

Einliner funktioniert super. –

+0

+1 Der One-Liner ist ein Juwel. – Sabuncu

4

Ich neige dazu, die -Include Parameter auf Get-ChildItem zu vermeiden, da es langsamer als -Filter ist. Doch in diesem Fall (da es nicht als -Filter ausgedrückt werden kann), das ist, was ich verwendet:

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

oder wenn diese an der Eingabeaufforderung eingeben:

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

Tippfehler in diesem. Es scheint auch nicht zu funktionieren. –

+0

Kein Tippfehler, aber das Platzhalterzeichen '?' Funktionierte nicht wie erwartet. Es hätte "_" und "." Übereinstimmen müssen, aber es passte nicht zu ".". Stelle dir das vor. –

+0

Ich bin verwirrt @Keith. Du hast gesagt, du meidest -include, aber das hast du benutzt. –

Verwandte Themen