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

Team 專案集合的 URL (例如 http://myserver:8080/tfs/DefaultCollection),該集合包含您要顯示與比較差異的檔案。

username

提供 /login 選項的值。 您可以將使用者名稱值指定成網域\ 使用者名稱或使用者名稱的格式。

選項

描述

/recursive

選擇項。 指定兩個資料夾要以遞迴方式進行完整比較。

/noprompt

選擇項。 tf folderdiff 執行時不會顯示使用者介面。 其輸出會改為顯示在 [命令提示字元] 視窗中。

/filter

選擇項。 指定包含項目和篩選條件遮罩清單,這些項目和條件是用來比對要比較之檔案和資料夾的名稱。

/filterLocalPathsOnly

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

/view

選擇項。 使用包含下列值的清單 (以逗號分隔),指定要包含在輸出內的資訊:

same:輸出會顯示在來源和目標目錄中具有相同內容的檔案。

different:輸出會顯示在來源和目標目錄中具有不同內容的檔案。

sourceOnly:輸出會顯示只存在於來源目錄中的檔案。

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

預設值為 "different,sourceOnly,targetOnly"

/collection

指定 Team 專案集合。

/login

指定使用者名稱和密碼,以便透過 Visual Studio Team Foundation Server 驗證使用者。

備註

如果您指定 /noprompt,便會在 [命令提示字元] 視窗中顯示輸出, 否則便會由 [資料夾差異] 視窗顯示輸出。 當系統在比較本機對應資料夾與對應的伺服器資料夾時,[資料夾差異] 視窗內的輸出便會包含一份暫止的變更清單。 同時,[資料夾差異] 視窗顯示的輸出也可以讓您知道本機資料夾是否包含最新的複本。

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

  • 只存在於伺服器資料夾中的項目。

  • 只存在於本機資料夾中的項目。

  • 含有不同內容的項目。

  • 含有完全相同內容的項目 (/view 選項必須指定 same 引數)。

  • 摘要。

檔案和資料夾篩選條件

篩選條件是經過排序的名稱遮罩清單,用於比對要比較之檔案和資料夾的名稱。 每個遮罩都可以包含萬用字元問號 (?) 和星號 (*)。' ?' 為只能符合一個字元,而 '*' 則為符合零個或多個字元。 篩選條件內的遮罩都是以分號 (;) 分隔。 資料夾遮罩必須以反斜線 (\) 做為結尾。 若要指定排除遮罩,請以驚嘆號 (!) 做為遮罩的前置字元。

篩選條件適用於使用下列規則的檔案和資料夾名稱:

  • 在篩選條件中同時指定檔案和資料夾遮罩時,檔案遮罩會分割為檔案遮罩清單,而資料夾遮罩則分割為資料夾遮罩清單。 檔案遮罩只適用於檔案名稱, 而資料夾遮罩只適用於資料夾名稱。

  • 當命令符合檔案或資料夾名稱時,便會根據指定的順序,將該名稱與篩選條件內的每個遮罩加以比較。 只要該名稱符合某個遮罩,便會將該名稱視為符合項目。

  • 如果篩選條件中的檔案遮罩內含包含遮罩,便會將未符合任何檔案遮罩的檔案排除。

  • 如果篩選條件中的檔案遮罩只內含排除遮罩,便會包含未符合任何檔案遮罩的檔案。

  • 如果篩選條件中的資料夾遮罩內含包含遮罩,便會將未符合任何資料夾遮罩的資料夾排除。

  • 如果篩選條件中的資料夾遮罩只內含排除遮罩,便會包含未符合任何資料夾遮罩的資料夾。

以下提供一些篩選條件遮罩的範例:

遮罩

描述

*.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 命令列公用程式命令