是否可以使用通配符更改svn中的文件名?
例如:svn rename *.ext1 *.ext2?
还是使用Tortoisesvn?
谢谢。答案 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进行正则表达式匹配。