ChatGPT解决这个技术问题 Extra ChatGPT

以编程方式编写 TFS 命令行以获取最新版本、签出和签入

我使用 WinXP、VS 2008 和 Team Explorer 连接到 Team Foundation Server。

我需要编写以下脚本(例如 BAT 文件脚本):

在团队项目中获取最新版本的文件夹。

签出团队项目中文件夹的文件。

签入团队项目中文件夹的文件。

我的 TFSProject 是 $/Arquitectura/Main/,映射到路径 C:\TFS\Arquitectura

有没有人有任何示例代码或建议?


S
Stefan Steinegger

在命令行中使用 tf.exe。

在以下示例中,%PathToIde% 通常位于如下路径:%ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE,或在 Windows x64 上:%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE(取决于 Visual Studio 版本和安装设置)。

获取示例:

cd C:\TFS\Arquitectura
"%PathToIde%\TF.exe" get $/Arquitectura/Main /recursive

结帐示例:

cd C:\TFS\Arquitectura
"%PathToIde%\TF.exe" checkout $/Arquitectura/Main /recursive

签到示例:

cd C:\TFS\Arquitectura
"%PathToIde%\TF.exe" checkin $/Arquitectura/Main /recursive

有关 tf commandline 的更多信息,请参阅。


"%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\TF.exe" 在 Win x64 上为 VS 2010 获取 $/Project /recursive。感谢输入,非常有用!
"%VS120COMNTOOLS%..\IDE\TF.exe" 为 VS2013 获取 $/PROJECT_NAME /recursive
抱歉挖掘了这篇旧帖子,但我有一个问题:使用不同的本地 TFS 工作区时,我在哪里指定要使用的工作区?还是当前工作目录暗示了这一点?
M
Mark Monforti

VS2017 更新

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\tf.exe'


比回答更好的评论。
感谢专业的“C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\TF.exe”
J
Jeff Bramlett

"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\tf.exe" 获取 "$/ProjectName/Main" /force /recursive


@Neolisk 为什么您建议在这种标准情况下使用 /force
S
Shevliaskovic

获取 Windows 7 64 位的最新代码

"%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\TF.exe" get /recursive

这对我有用。


J
Jaideep Dhumal

我在 Windows 10 64 位的 Powershell 中尝试了以下代码,它对我有用:

cd C:\MyWorkspace & "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\TF.exe" 获取 $/TFSFolderPath /recursive

请注意,第二行以与号 (&) 开头,没有它我的代码将无法工作,但不知道它的原因。


Found explanation for the & Call operator。用引号将命令括起来将使 PowerShell 将其视为字符串,因此除了引号之外,请使用 &调用运算符强制 PowerShell 将字符串视为要执行的命令。
P
Priyanka Vadhwani

Visual Studio 2022 更新

创建一个批处理文件以从 TFS 获取最新版本。使用 .bat 扩展名保存此文件

TakeLatest.bat

@echo off
title Project Builder
echo Taking Latest of All Projects which are listed here

cd /d %~dp0

call "C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\TF.exe" get /recursive

pause

注意:cd /d 是您的项目文件夹位置驱动器

对于 Visual Studio 2019

将此行更新为批处理文件,

call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\TF.exe" get /recursive