【问题标题】:How do I cloak multiple folders at a time in Team Foundation Server?如何在 Team Foundation Server 中一次隐藏多个文件夹?
【发布时间】:2013-11-15 15:05:38
【问题描述】:

我遵循 Team Foundation Server 的推荐指南,将源代码管理树的根映射到本地文件夹。但是,我不想映射该根目录下的每个文件夹。我可以一次隐藏一个文件夹,但更愿意同时隐藏多个文件夹。有没有办法轻松做到这一点?

【问题讨论】:

    标签: version-control tfs directory cloaking


    【解决方案1】:

    我在 PowerShell 中找到了另一种方法。切换到您希望隐藏文件的映射目录并输入以下命令:

    Get-ChildItem | where {$_.PsIsContainer} | ForEach-Object { Write-Host $_.Name ; tf workfold /cloak $_.Name }
    

    这将隐藏当前文件夹级别的每个目录。如果您希望排除某些目录在此级别被隐藏,请添加 -Exclude 参数:

    Get-ChildItem -Exclude <foldernames> | where {$_.PsIsContainer} | ForEach-Object { Write-Host $_.Name ; tf workfold /cloak $_.Name }
    

    其中&lt;foldernames&gt; 可以是一个或多个以逗号分隔的文件夹。最好每个文件夹名称都可以嵌入双引号中(例如,允许空格)。

    此外,如果 tf 命令不起作用,您可以在此之前使用 Set-Alias,如此答案中所述:powershell tf command not recognized as the name of a cmlet

    【讨论】:

    • 您可能需要添加 ' ; tf vc get $_.Name ' 在最后一个 } 之前不带引号以执行获取最新信息,以便从硬盘驱动器中删除隐藏的文件夹,从而使它们在 Visual Studio 的源代码管理资源管理器中也显示为隐藏。
    • @MBWise 根据我的经验,从命令行执行获取不如从源代码管理资源管理器执行。 (我在命令行中遇到错误,但在 IDE 中没有。)我知道这些应该是等效的,但至少对我而言,它们显然不是。 YMMV。
    【解决方案2】:

    在编辑Workspaces dialog box 中,在Working folders 列表中,我建议将每个文件夹的设置从Active to Cloaked 更改。

    链接:http://msdn.microsoft.com/en-us/library/ms181378(v=vs.110).aspx

    基于此链接:http://msdn.microsoft.com/en-us/library/ms181378%28VS.80%29.aspx

    【讨论】:

    • 感谢您的回答!
    • 罗伯特很高兴为您提供帮助
    【解决方案3】:

    我知道这是一篇较旧的帖子,但对于现在(就像我一样)或将来偶然发现它的任何人......

    您也可以考虑this answer 中描述的方法。根据我的经验,比隐身更快。

    简单地说,您使用获取特定版本功能;具体来说,您为本地想要的任何文件夹获取版本 1。 (版本 1 仅包含存储库根 $/,因此获取任何文件夹的该版本将删除本地副本。有关详细信息,请参阅链接答案。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-26
      • 1970-01-01
      • 2018-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多