Version control 在TFS源代码管理中移动多个文件 我使用Team Foundation Server 2008(SP 1),我需要将多个文件从一个文件夹移到另一个文件夹(以保留文件历史记录)。除了团队资源管理器(使用SP 1),我还安装了最新的TFS Power Tools(2008年10月)(用于Windows Shell集成)

Version control 在TFS源代码管理中移动多个文件 我使用Team Foundation Server 2008(SP 1),我需要将多个文件从一个文件夹移到另一个文件夹(以保留文件历史记录)。除了团队资源管理器(使用SP 1),我还安装了最新的TFS Power Tools(2008年10月)(用于Windows Shell集成),version-control,tfs,Version Control,Tfs,现在的问题是,我似乎无法通过shell或源代码管理资源管理器窗口选择和移动多个文件。我可以移动单个文件(通过右键单击+“移动”),也可以移动整个文件夹(相同的操作),但当我选择多个文件(在一个文件夹中)时,“移动”上下文项变灰/禁用 有人知道这是否可能吗。。如果不是。。为什么不呢 有人能提出一个不太复杂的解决方案吗 请在这里投票:在这里投票 使用Visual studio命令行中的tf.exe工具-它可以处理通配符: tf.exe move <olditem> <newite

现在的问题是,我似乎无法通过shell或源代码管理资源管理器窗口选择和移动多个文件。我可以移动单个文件(通过右键单击+“移动”),也可以移动整个文件夹(相同的操作),但当我选择多个文件(在一个文件夹中)时,“移动”上下文项变灰/禁用

有人知道这是否可能吗。。如果不是。。为什么不呢

有人能提出一个不太复杂的解决方案吗

请在这里投票:在这里投票


使用Visual studio命令行中的tf.exe工具-它可以处理通配符:

tf.exe move <olditem> <newitem>

[编辑]如注释中所述:move是重命名的别名。这两个命令都会移动历史记录。

将所有要移动的文件粘贴到文件夹下,然后移动该文件夹。

使用重命名而不是移动

tf.exe rename "$/PROJECT/SharedLibs/Log4Net/*.*" "$/PROJECT/SharedLibs/3rdParty/"
tf.exe rename "$/PROJECT/SharedLibs/ZipLib/*.*" "$/PROJECT/SharedLibs/3rdParty/"

查看帮助文档:

Holan Jan编写了一个Visual Studio扩展,它为源代码管理资源管理器中的多个文件提供“移动”(即使用GUI)功能,并且支持最新版本

对于VS2019:

对于VS2017:

对于VS2015:

对于VS2013:

对于VS2012:


在引擎盖下,它确实使用上面提到的相同命令,但使用起来更友好一些。列出的每个版本都需要Visual Studio的RTM版本。

这里的版本更好。
move
参数未记录且不移动历史记录,而另一个答案的
rename
参数记录且也移动历史记录。根据记录,在TFS 2010中,move命令似乎会执行重命名,从而移动历史记录。在TF.EXE帮助中:您可以使用rename命令或别名move,将文件或文件夹移动到新位置。所以移动和重命名是完全一样的。另一件事,使用visual studio的命令行从映射的路径运行它。否则,它会使您不知道工作空间,并为您提供一种(无用的)方法来找出您拥有的工作空间(然后是什么?“nothing…”-因此,从映射目录运行它,您会很好(为我工作)“当它分配了工作文件夹映射时,无法重命名$/X/Y/Z。”为什么这么难?移动它,让我们来处理后果。上面的链接抛出了一个HTTP500;如果它不动,这里是来自MSDN的TFS命令行参考:
move
只是
重命名的别名,所以使用哪一个并不重要我使用我的Visual Studio Online的TFS源代码控制,例如。通过调用
tf workspaces
列出工作区时,没有“我的存储库映射”项。“如果为$/X/Y/Z分配了工作文件夹映射,则无法重命名它。”此外,不允许再使用通配符*。“如果目标不是源代码管理中的文件夹,则不能将通配符指定为源。”我不知道这是什么意思。只要把它移到我指的名字上就行了。太好了!这是唯一对我有用的东西,使用VS2010:这个扩展太棒了-它在源代码管理资源管理器中启用了一系列附加功能,一次移动多个文件只是其中的一部分。我强烈推荐它。这是谢谢!
tf.exe rename "$/PROJECT/SharedLibs/Log4Net/*.*" "$/PROJECT/SharedLibs/3rdParty/"
tf.exe rename "$/PROJECT/SharedLibs/ZipLib/*.*" "$/PROJECT/SharedLibs/3rdParty/"