Команда Folderdiff
Команда folderdiff используется для отображения и сравнения визуального представления отличий между файлами в двух папках на сервере, в папке сервера и локальной папке или в двух локальных папках.
Необходимые разрешения
Для использования команды folderdiff необходимо иметь разрешение Чтение со значением Разрешить. Дополнительные сведения см. в разделе Разрешения Team Foundation Server.
tf folderdiff [sourcePath] targetPath [/recursive] [/noprompt] [/collection:TeamProjectCollectionUrl] [/filter:filter] [/filterLocalPathsOnly] [/login:username,[password]] [/view:same,different,sourceOnly,targetOnly]
Параметры
Аргумент |
Описание |
---|---|
sourcePath |
Локальный путь или путь к серверу, являющийся исходным путем в операции сравнения. Если аргумент не задан и targetPath является локальным сопоставленным путем, то в качестве sourcePath используется сопоставленный ему путь к серверу. |
targetPath |
Локальный путь или путь к серверу, являющийся целевым путем в операции сравнения. |
filter |
Задает разделенный точкой с запятой список включаемых и исключаемых масок фильтра для параметра /filter. Значение по умолчанию — "*" (все). Подробное описание фильтров и масок находится в подразделе "Примечания" этого раздела. |
TeamProjectCollectionUrl |
URL-адрес коллекции командных проектов, содержащей файлы, для которых необходимо отобразить и сравнить различия (например, http://myserver:8080/tfs/DefaultCollection). |
username |
Предоставляет значение для параметра /login. Можно задать значение для имени пользователя как ДОМЕН\имя_пользователя или как имя_пользователя. |
Параметр |
Описание |
---|---|
/recursive |
Необязательный. Указывает, что две папки сравниваются полностью рекурсивно. |
/noprompt |
Необязательный. tf folderdiff выполняется без отображения пользовательского интерфейса. Вместо этого результат будет выведен в окне командной строки. |
/filter |
Необязательный. Задает список включаемых фильтров и масок для сравнения имен файлов и папок. |
/filterLocalPathsOnly |
Необязательный. Указывает, что будут фильтроваться только локальные пути, если только не существуют соответствующие пути к серверу. |
/view |
Необязательный. Задает список разделенных запятыми значений, определяющих тип выводимых сведений. same — в результате отображаются файлы с различным содержимым в исходном и целевом каталогах. different — в результате отображаются файлы с несходным содержимым в исходном и целевом каталоге. sourceOnly — в результате отображаются файлы, существующие только в исходном каталоге. targetOnly — в результате отображаются файлы, существующие только в целевом каталоге. По умолчанию: "different,sourceOnly,targetOnly" |
/collection |
Указывает коллекцию командных проектов. |
/login |
Задает имя пользователя и пароль для проверки подлинности пользователя с Visual Studio Team Foundation Server. |
Заметки
При указании /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
См. также
Задачи
Просмотр изменений файлов с помощью заметок
Согласование различий между двумя папками