分享方式:


Folderdiff 命令 (Team Foundation 版本控制)

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 |Visual Studio 2022

使用 TFVC folderdiff 命令來顯示和比較兩個伺服器資料夾中檔案、伺服器資料夾和本機資料夾,或兩個本機資料夾中檔案之間的差異可視化表示法。

必要條件

若要使用 folderdiff 命令,您必須將 [讀取 ] 權限設定為 [允許]。 如需詳細資訊,請參閱 預設 TFVC 許可權

語法

tf folderdiff [sourcePath] targetPath [/recursive] [/noprompt] [/collection:TeamProjectCollectionUrl] [/filter:filter] [/filterLocalPathsOnly] [/login:username,[password]] [/view:same,different,sourceOnly,targetOnly]

參數

引數

Argument

說明

<sourcePath>

比較作業中的本機或伺服器來源路徑。 如果未提供這個自變數,而且 targetPath 是本機對應路徑, sourcePath 則為它對應的伺服器路徑。

<targetPath>

比較作業中的本機或伺服器目標路徑。

<filter>

選項的包含和排除篩選遮罩 /filter 以分號分隔的清單。 預設值為 *,或全部包含。 如需篩選和遮罩的詳細描述,請參閱 <備註 >。

<TeamProjectCollectionUrl>

專案集合的 URL,其中包含您要顯示和比較差異的檔案,例如 http://myserver:8080/tfs/DefaultCollection

<username>

提供 選項的值 /login 。 您可以將使用者名稱值指定為 DOMAIN\usernameusername

選項。

選項

說明

/recursive

選擇性。 以遞歸方式比較這兩個資料夾。

/noprompt

選擇性。 執行 tf folderdiff ,而不顯示 Visual Studio 資料夾差異 視窗中的輸出。 命令提示字元視窗會改為顯示輸出。

/filter

選擇性。 指定要比較之檔案和資料夾名稱的包含和篩選遮罩清單。

/filterLocalPathsOnly

選擇性。 指定除非對應的伺服器路徑存在,否則只會篩選本機路徑。

/view

選擇性。 使用下列值的逗號分隔清單,指定要包含在輸出中的資訊:

  • same 顯示來源和目標目錄中具有相同內容的檔案。

  • different 顯示來源和目標目錄中具有不同內容的檔案。

  • sourceOnly 顯示只存在於來源目錄中的檔案。

  • targetOnly 會顯示只存在於目標目錄中的檔案。

預設值為 different,sourceOnly,targetOnly

/collection

指定專案集合。

/login

指定要向 Azure DevOps 驗證使用者的使用者名稱和密碼。

備註

如果您指定 /noprompt,命令提示字元視窗會顯示輸出。 否則,Visual Studio 資料夾差異 視窗會顯示輸出。

當系統比較本機對應資料夾與其對應的伺服器資料夾時,[ 資料夾差異 ] 視窗中的輸出會包含擱置的變更清單。 此外,[ 資料夾差異 ] 視窗中的輸出會告訴您本機資料夾是否包含最新的複本。

命令提示字元視窗中顯示的輸出會列出下列五個區段中資料夾中的所有檔案:

  • 只存在於伺服器資料夾中的專案。
  • 只存在於本機資料夾中的專案。
  • 具有不同內容的專案。
  • 具有相同內容的專案。 您必須使用 /view 選項指定 same 自變數。
  • 摘要。

檔案和資料夾篩選

篩選條件是名稱遮罩的已排序列表,用來比對要比較的檔案和資料夾名稱。 遮罩可以包含問號 ? 通配符,以完全符合一個字元,而星號 * 通配符可比對零或多個字元。

您可以使用分號 ;分隔篩選中的遮罩。 資料夾遮罩必須以反斜杠 \結尾。 若要指定排除遮罩,請在遮罩前面加上驚歎號 !

篩選條件會使用下列規則套用至檔案和資料夾名稱:

  • 當篩選同時指定檔案和資料夾遮罩時,檔案和資料夾遮罩會分成檔案遮罩清單和資料夾遮罩清單。 檔案掩碼僅適用於檔名。 資料夾遮罩僅適用於資料夾名稱。

  • 為了比對檔案或資料夾名稱,命令會依照指定的順序,將篩選中的名稱與每個遮罩進行比較。 名稱符合遮罩之後,名稱就會被視為相符專案。

  • 如果篩選中的檔案遮罩包含包含遮罩,則會排除不符合任何檔案遮罩的檔案。

  • 如果篩選中的檔案遮罩只包含排除遮罩,則會包含不符合任何檔案遮罩的檔案。

  • 如果篩選中的資料夾遮罩包含包含遮罩,則會排除不符合任何資料夾遮罩的資料夾。

  • 如果篩選中的資料夾遮罩只包含排除遮罩,則會包含不符合任何資料夾遮罩的資料夾。

下表列出篩選名稱遮罩範例。

名稱遮罩 說明
*.cs 符合所有 C# 檔案。
My*.bmp 比對開頭 為 My 的所有位圖檔案。
!*.exe 排除所有可執行檔。
!objd\ 排除所有 objd 資料夾。

下表列出篩選範例。

Filter 說明
*.cs;!objd\;!obj\;!bin\ 比對 objd、objbin 資料夾中的所有 C# 檔案
!*.resx;!*.ini;!resources\;!*junk*\ 排除所有 .resx 和 .ini 檔案、resources 資料夾中的所有檔案,以及任何資料夾中名稱包含垃圾郵件的所有檔案。

如需如何使用 tf 命令行公用程式的詳細資訊,請參閱 使用Team Foundation版本控制命令

範例

下列範例會比較伺服器資料夾和本機資料夾中的檔案、以遞歸方式組織本機資料夾中的檔案,並在命令提示字元視窗中顯示輸出。

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

下一步