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