使用通配符使用svn重命名文件

时间:2012-02-02 10:26:09

标签: svn tortoisesvn wildcard

是否可以使用通配符更改svn中的文件名?

例如:svn rename *.ext1 *.ext2?

还是使用Tortoisesvn?

谢谢。

1 个答案:

答案 0 :(得分:2)

不直接。但是您可以使用命令行Subversion的标准脚本工具来实现您的目标。以PowerShell为例,此命令将当前目录中每个C#文件的基本名称从x更改为x_old,并注意svn mv是Subversion中的重命名命令。

ls *.cs | % { svn mv $_.name ($_.name -replace ".cs", "_old.cs") }

从那个起点开始,你可以更精细。 Get-ChildItem(aka ls)提供-recurse选项,因此您可以操作整个子树,而不仅仅是当前目录。 (在这种情况下,您需要使用$_.fullname而不是$_.name。对于更复杂的匹配需求,您可以使用[regex]::Replace()方法而不是-replace运算符与.NET进行正则表达式匹配。