繁体   English   中英

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

[英]How to recursively delete all SVN files using PowerShell

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

如果您确实只想删除.svn目录,这可能会有所帮助:

gci c:\yourdirectory -include .svn -Recurse -Force | 
   Remove-Item -Recurse -Force

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

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

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

Get-ChildItem $path -r -include .svn -Force | Where {$_.PSIsContainer} |
    Remove-Item -r -force

Microsoft在下面的评论中回应了Keith在MS Connect上打开的建议中的建议! 从PowerShell V3开始,您Where {$_.PSIsContainer}通往Where {$_.PSIsContainer}的多余(非常慢)管道,而使用-directory代替:

gci $path -r -include .svn -force -directory | Remove-Item -r -force

可以从Windows Management Framework 3.0下载Windows 7的PowerShell v3。

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

编辑

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

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

除非您要删除名称中带有特定字符串的所有文件,否则stej的答案是正确的。 在这种情况下,您应该使用:

gci "your_path" -include \*"specific_string"\* -Recurse -Force | Remove-Item -Recurse -Force

笔记:
your_path仅在包含空格或特殊字符的your_path才需要使用引号。

specific_string需要用引号引起来,以确保两个通配符都能被识别,尤其是当字符串包含()等字符时。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM