Powershell脚本查找所有svn工作副本
我想编写 powershell 脚本来将所有工作副本从 1.6 svn 升级到 1.7。 问题是找到指定子目录中的所有工作副本,并在每个工作副本的第一个匹配处停止。该脚本可以找到嵌套在工作副本中的所有 .svn 目录,包括子目录:
Get-ChildItem -Recurse -Force -Path "d:\Projects\" |?{$_.PSIsContainer -and $_.FullName -match ".svn$"}|Select-Object FullName
是否有任何选项可以在目录中的第一个匹配项上停止 Get-ChildItem,并停止递归子目录 处理?有什么提示可以看吗?
另一个选项是获取输出结果,并根据父\子目录关系使用某种逻辑对列表进行排序\过滤。在我看来,这是一种更令人困惑的方式,但它也是一种选择......
I would like to write powershell script to upgrade all working copies from 1.6 svn to 1.7.
The problem is to find all working copies in specified subdirectory and stop on first match for each one. This script could find all .svn directories including subdirs,nested in working copy:
Get-ChildItem -Recurse -Force -Path "d:\Projects\" |?{$_.PSIsContainer -and $_.FullName -match ".svn$"}|Select-Object FullName
Is there any option to stop Get-ChildItem on first match in directory, and cease recurse subdirs processing ? Any hints to look at ?
Another option is to get output results and sort\filter the list with some logic, based on parent\child dir relations. A bit more confusing way, imo, but its also an option...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我找到了适合这种管道的过滤条件。
它类似于正则表达式反向引用,并在管道过滤器内按预期工作。
I found proper filtering condition for such pipeline.
It's similar to regex backreference and work as expected inside pipeline filter.
您可以使用
break
。这是一些例子:或者稍微不同的方式:
You can use
break
. Here's some examples:Or a slightly different way: