首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell获得工作文件夹的最新信息吗?

Powershell获得工作文件夹的最新信息吗?
EN

Stack Overflow用户
提问于 2014-02-25 17:05:13
回答 1查看 1.8K关注 0票数 1

我正在尝试获取一个特定文件夹的最新信息,并想知道我将如何做到这一点。我一直在阅读有关Workspace类的MSDN文档,但不幸的是,它似乎没有提供任何关于如何获取特定文件夹的最新信息的信息。

例如,我只有一个工作区,但有多个工作文件夹。我的PowerShell脚本可以获得最新的,但只能在工作区级别。是否可以从工作目录级别或特定文件夹级别获得它?

提前谢谢你,DS。

编辑我相信这是可能的,因为电动工具可以通过右击文件夹和获取最新的。理想情况下,想要复制这个。

http://msdn.microsoft.com/en-us/library/Microsoft.TeamFoundation.VersionControl.Client.Workspace.aspx

下面是我的剧本。

代码语言:javascript
复制
$tfs = .\tfs-get-instance.ps1 -uri $uri
$vcs = $tfs.TfsTeamProjectCollection.GetService([Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer])
[psobject]$workspace = $vcs.GetWorkspace([System.Environment]::MachineName, [System.Environment]::UserName)
$workspace.Map($sourceFolder, $localFolder)
$result = $workspace.GetLocalItemForServerItem($sourceFolder);

if ($result -ne "")
{
    echo $result
}
EN

回答 1

Stack Overflow用户

发布于 2014-02-25 18:03:23

您应该能够使用Workspace.Get方法(String[],VersionSpec,RecursionType,GetOptions)来获得您想要的东西。

另一方面,如果您不一定要使用.NET对象来完成它,您可以让tf.exe完成实际工作,如下所示:

代码语言:javascript
复制
& $TfExePath workfold /map "$codePath" "$LocalFolderPath" /collection:"$tfCollection" /workspace:$workspaceName
& $TfExePath get "$codePath" /version:$ChangeSet /force /overwrite /all /recursive $workspaceName

另一方面,如果安装了TF PowerTools,则还应该有用于使用TFS的PowerShell cmdlet。我从未使用过它们,但我猜如果您愿意的话,您应该能够使用它们而不是使用tf.exe。如果电动工具满足您的需要,我可能会选择PowerShell cmdlet。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22021198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档