有人知道是否可以将文件从 TFS (2013 Update 2) 源代码管理复制到计算机上的特定文件夹?
假设我有服务器路径$/BuildTemplate2013/BuildProcessSource
,我希望C:\destinationDir
使用 PowerShell 复制/下载该目录的所有文件。那可能吗?我安装了 TFS 2013 Update 2 电动工具,但找不到任何命令...
有人知道是否可以将文件从 TFS (2013 Update 2) 源代码管理复制到计算机上的特定文件夹?
假设我有服务器路径$/BuildTemplate2013/BuildProcessSource
,我希望C:\destinationDir
使用 PowerShell 复制/下载该目录的所有文件。那可能吗?我安装了 TFS 2013 Update 2 电动工具,但找不到任何命令...
我创建了一个 PowerShell 脚本,它使用 TFS 程序集连接到 TFS 服务器。然后我遍历服务器上的文件(在特定路径中)并递归下载。
# The deploy directory for all the msi, zip etc.
$AutoDeployDir = "Your TFS Directory Server Path"
$deployDirectory = $($Env:TF_BUILD_DROPLOCATION + "\Deploy\" + $Env:TF_BUILD_BUILDNUMBER)
# Add TFS 2013 dlls so we can download some files
Add-Type -AssemblyName 'Microsoft.TeamFoundation.Client, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
Add-Type -AssemblyName 'Microsoft.TeamFoundation.VersionControl.Client, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
$tfsCollectionUrl = 'http://YourServer:8080/tfs/YourCollection'
$tfsCollection = New-Object -TypeName Microsoft.TeamFoundation.Client.TfsTeamProjectCollection -ArgumentList $tfsCollectionUrl
$tfsVersionControl = $tfsCollection.GetService([Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer])
# Register PowerShell commands
Add-PSSnapin Microsoft.TeamFoundation.PowerShell
# Get all directories and files in the AutoDeploy directory
$items = Get-TfsChildItem $AutoDeployDir -Recurse
# Download each item to a specific destination
foreach ($item in $items) {
# Serverpath of the item
Write-Host "TFS item to download:" $($item.ServerItem) -ForegroundColor Blue
$destinationPath = $item.ServerItem.Replace($AutoDeployDir, $deployDirectory)
Write-Host "Download to" $([IO.Path]::GetFullPath($destinationPath)) -ForegroundColor Blue
if ($item.ItemType -eq "Folder") {
New-Item $([IO.Path]::GetFullPath($destinationPath)) -ItemType Directory -Force
}
else {
# Download the file (not folder) to destination directory
$tfsVersionControl.DownloadFile($item.ServerItem, $([IO.Path]::GetFullPath($destinationPath)))
}
}
安装 TFS Power Tools 时,默认情况下未选择 PowerShell 选项。
选择安装 TFS powershell 工具的选项。
然后,您可以使用 Update-TfsWorkspace 命令行开关获取最新文件。请确保您已经为需要获取最新文件的目录创建了工作区。然后执行以下
cd <Your Directory Path>
Update-TfsWorkspace
在执行 let 命令时,请确保为要执行 powershell 的用户创建了工作区。
只需在一个
您正在寻找的命令是tf.exe get
TFS 客户端工具(即 Visual Studio 或 Team Explorer 独立工具)附带的命令。您需要配置工作区和工作文件夹映射才能使用tf.exe get
.
如果您更喜欢使用 TF Power Tools,请使用Update-TfsWorkspace
命令获取文件。我相信您仍然需要使用工作文件夹映射定义的工作空间。
Update-TfsWorkspace -Item $/TeamProject/Path/Path2/Item -Recurse