Folderdiff 命令

更新:2007 年 11 月

使用 folderdiff 命令可以直观地显示两个服务器文件夹、服务器文件夹和本地文件夹或两个本地文件夹中各文件之间的区别的可视化表示形式,并对它们进行比较。

必需的权限

若要使用 folderdiff 命令,您必须将“读”权限设置为“允许”。有关更多信息,请参见 Team Foundation Server 权限

tf folderdiff [sourcePath] targetPath [/recursive] [/noprompt] [/server:serverName:port] [/filter:filter] [/filterLocalPathsOnly] [/view:same,different,sourceOnly,targetOnly]

参数

参数

说明

sourcePath

在比较操作中作为源路径的本地路径或服务器路径。如果未提供此参数,并且 targetPath 是本地映射路径,则 sourcePath 是映射到它的服务器路径。

targetPath

在比较操作中作为目标路径的本地路径或服务器路径。

serverName:port

如果指定了此参数,则会假设所有的服务器路径都位于此服务器上。此参数的优先级高于本地路径映射。

filter

/filter 选项指定一个用分号分隔的包含和排除筛选器掩码列表。默认设置为“*”(全部包含)。本主题中的“备注”部分包括有关筛选器和掩码的详细说明。

选项

说明

/recursive

可选。指定以递归方式对两个文件夹进行完全比较。

/noprompt

可选。tf folderdiff 在不显示用户界面的情况下运行。输出改为在“命令提示”窗口中显示。

/filter

可选。指定用来与要比较的文件名和文件夹名相匹配的包含和排除筛选器掩码的列表。

/filterLocalPathsOnly

可选。指定除非存在相应的服务器路径,否则仅对本地路径进行筛选。

/view

可选。指定将在输出中包括哪些信息,该输出使用以逗号分隔的下列值的列表:

same - 输出中仅显示源目录和目标目录中具有相同内容的文件。

different - 输出中仅显示源目录和目标目录中具有不同内容的文件。

sourceOnly - 输出中显示仅存在于源目录中的文件。

targetOnly - 输出中显示仅存在于目标目录中的文件。

默认值为“different,sourceOnly,targetOnly”。

备注

如果您指定了 /noprompt,则输出内容显示在“命令提示”窗口中。否则,输出内容显示在“文件夹差异”窗口中。当系统对本地映射文件夹与它所映射到的服务器文件夹进行比较时,“文件夹差异”窗口中的输出内容中包括挂起更改的列表。同时,“文件夹差异”窗口中的输出内容告诉您本地文件夹中是否包含最新的副本。

“命令提示”窗口中显示的输出内容按照以下五个部分列出了各文件夹中的所有文件:

  • 仅存在于服务器文件夹中的项。

  • 仅存在于本地文件夹中的项。

  • 具有不同内容的项。

  • 具有相同内容的项(您必须指定与 /view 选项相同的参数)。

  • 摘要。

文件和文件夹筛选器

筛选器是一个经过排序的名称掩码列表,这些掩码用来与要比较的文件名和文件夹名相匹配。每个掩码均可包含问号 (?) 和星号 (*) 通配符。'?' “?”仅与一个字符完全匹配,“*”与零个或多个字符相匹配。筛选器中的掩码以分号 (;) 分隔。文件夹掩码必须以反斜杠 (\) 结尾。若要指定排除掩码,请在该掩码的前面添加一个叹号 (!) 作为前缀。

筛选器按照下列规则应用于文件名和文件夹名称:

  • 如果在一个筛选器中同时指定了文件掩码和文件夹掩码,则文件掩码将分隔到文件掩码列表中,文件夹掩码将分隔到文件夹掩码列表中。文件掩码仅适用于文件名,文件夹掩码仅适用于文件夹名。

  • 当该命令与某个文件名或文件夹名称相匹配时,它会按照掩码的指定顺序,将该名称与筛选器中的每个掩码相比较。只要该名称与某个掩码相匹配,就会将该名称视为匹配项。

  • 如果筛选器中的文件掩码包括一个包含掩码,则会排除与任一文件掩码不匹配的文件。

  • 如果筛选器中的文件掩码仅包括排除掩码,则会包括与任一文件掩码不匹配的文件。

  • 如果筛选器中的文件夹掩码包括一个包含掩码,则会排除与任一文件夹掩码不匹配的文件夹。

  • 如果筛选器中的文件夹掩码仅包括排除掩码,则会包括与任一文件夹掩码不匹配的文件夹。

以下是筛选器掩码的一些示例:

掩码

说明

*.cs

与所有 C# 文件相匹配。

My*.bmp

与所有以“My”开头的位图文件相匹配。

!*.exe

排除所有可执行文件。

!objd\

排除所有 objd 目录。

以下是筛选器的一些示例:

掩码

说明

*.cs;!objd\;!obj\;!bin\

与所有 C# 文件相匹配,并排除 objd、obj 和 bin 目录

!*.resx;!*.ini;!resources\;!*junk*\

排除所有 resx 和 ini 文件,以及“resources”文件夹或名称中含有“junk”的文件夹

有关如何查找 tf 命令行实用工具的更多信息,请参见 Tf 命令行实用工具命令

示例

下面的示例对服务器文件夹和本地文件夹中的文件进行比较。它以递归方式来组织 localFolder 中的文件,并将输出内容显示在“命令提示”窗口中。

C:>tf folderdiff $/serverFolder F:\localFolder /recursive /noprompt

请参见

任务

如何:比较两个文件夹

如何:使用批注查看文件更改

如何:协调两个文件夹之间的区别

概念

文件夹比较筛选器

其他资源

在版本控制中比较文件夹和文件

Tf 命令行实用工具命令

使用版本控制文件和文件夹