如何使用PowerShell递归删除所有SVN文件

epi*_*tka 34 svn powershell

如何使用PowerShell从目录中删除所有Subversion文件?

ste*_*tej 43

如果你真的想删除.svn目录,这可能会有所帮助:

gci c:\yourdirectory -include .svn -Recurse -Force | 
   Remove-Item -Recurse -Force
Run Code Online (Sandbox Code Playgroud)

编辑:添加了-Force参数以gci列出隐藏目录并缩短了代码.

Keith是正确的,你需要避免删除扩展名为.svn的文件,你应该使用过滤项目?.


Kei*_*ill 10

假设您不想删除任何可能具有.svn扩展名的文件:

Get-ChildItem $path -r -include .svn -Force | Where {$_.PSIsContainer} |
    Remove-Item -r -force
Run Code Online (Sandbox Code Playgroud)

微软在下面的评论中回应了Keith在MS Connect上开启的建议!由于PowerShell的V3,你可以用额外的(很慢)管办客场Where {$_.PSIsContainer}和使用-directory,而不是:

gci $path -r -include .svn -force -directory | Remove-Item -r -force
Run Code Online (Sandbox Code Playgroud)

可以在Windows Management Framework 3.0上为Windows 7下载PowerShell v3 .

  • 顺便说一句,我期待着你不需要`Where {$ _. PSIsContainer}`的那一天,而你所要做的就是`gci.-r -containerOnly`.我的Get-ChildItem代理以这种方式工作,但我不能指望其他人拥有它.:-( (2认同)
  • Stej,是的在这里投票:https://connect.microsoft.com/PowerShell/feedback/details/308796/add-enumeration-parameter-to-get-childitem-cmdlet-to-specify-container-non-container-都 (2认同)

小智 5

如何使用SVN 导出在没有 .svn 目录的情况下获得干净的结帐?

编辑

您可能想在这里查看答案:

递归删除匹配文件和目录的命令行