我今天需要在命令行上执行此操作,所以这里有一个批处理文件,希望能做同样的事情(我们才刚刚开始使用 TFS,并且文件夹上的标签有限,以测试 OP 的要求)。
您需要将集合参数编辑为tf
您的设置,并可能根据您的身份验证方式提供登录详细信息。
@ECHO OFF
SETLOCAL EnableDelayedExpansion
@REM Check required parameters
IF [%1]==[] GOTO :usage
tf labels /owner:* /format:detailed %2 /collection:http://server:8080/tfs/collection > labels.txt 2> nul
SET CURRENT_LABEL=
FOR /F "tokens=1,2,3" %%G IN (labels.txt) DO (
IF [%%G]==[Label] (
SET CURRENT_LABEL=%%I
) ELSE (
IF /I [%%H]==[%1] (
ECHO !CURRENT_LABEL!
)
)
)
DEL labels.txt
GOTO :eof
@REM Subroutines
:usage
echo tfs_labelsforfolder - Display all labels that are applied to a folder.
echo.
echo tfs_labelsforfolder ^<folder^> ^[label_filter^]
echo.
echo folder - The folder to show the labels for, e.g. $/Project/folder
echo label_filter - Search pattern to use in tf labels command.
echo.
GOTO :eof