Folderdiff コマンド

folderdiff コマンドを使用すると、2 つのサーバー フォルダー、サーバー フォルダーとローカル フォルダー、または 2 つのローカル フォルダーにあるファイル間の相違点を視覚的に表示し、比較できます。

必要なアクセス許可

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 オプションに値を指定します。 ユーザー名の値は、DOMAIN\UserName または UserName のいずれかとして指定できます。

オプション

説明

/recursive

省略可能。 2 つのフォルダーが再帰的に完全に比較されることを指定します。

/noprompt

省略可能です。 tf folderdiff を指定すると、ユーザー インターフェイスに何も表示せずに実行されます。 その場合、出力は [コマンド プロンプト] ウィンドウに表示されます。

/filter

省略可能です。 比較するファイルまたはフォルダーの名前の照合に使用する、包含フィルター マスクと除外フィルター マスクの一覧を指定します。

/filterLocalPathsOnly

省略可能です。 対応するサーバー パスが存在する場合を除き、ローカル パスのみがフィルター処理されることを指定します。

/view

省略可能です。 以下の値を指定したコンマ区切りの一覧を使用して、出力に含める情報を指定します。

same - 出力には、ソース ディレクトリとターゲット ディレクトリで同じコンテンツを持つファイルが表示されます。

different - 出力には、ソース ディレクトリとターゲット ディレクトリで異なるコンテンツを持つファイルが表示されます。

sourceOnly - 出力には、ソース ディレクトリにのみ存在するファイルが表示されます。

targetOnly - 出力には、ターゲット ディレクトリにのみ存在するファイルが表示されます。

既定値は "different,sourceOnly,targetOnly" です。

/collection

チーム プロジェクト コレクションを指定します。

/login

Visual Studio Team Foundation Server でユーザーを認証するためのユーザー名とパスワードを指定します。

解説

/noprompt を指定すると、出力は [コマンド プロンプト] ウィンドウに表示されます。 それ以外の場合は、出力は [フォルダーの相違点] ウィンドウに表示されます。 ローカルにマップされたフォルダーを、このフォルダーがマップされたサーバー フォルダーに対して比較すると、[フォルダーの相違点] ウィンドウの出力には、保留中の変更の一覧が表示されます。 また、[フォルダーの相違点] ウィンドウの出力には、ローカル フォルダーに最新コピーが含まれているかどうかについても表示されます。

[コマンド プロンプト] ウィンドウには、次の 5 つに分類されるフォルダーに存在するすべてのファイルの一覧が表示されます。

  • サーバー フォルダーにのみ存在する項目

  • ローカル フォルダーにのみ存在する項目

  • 異なるコンテンツを持つ項目

  • 同じコンテンツを持つ項目 (/view オプションに同じ引数を指定する必要があります)

  • まとめ

ファイルおよびフォルダーのフィルター

フィルターは、名前マスクの順序付きリストで、比較するファイルまたはフォルダーの名前の照合に使用されます。 各マスクには、ワイルドカード文字である疑問符 (?) とアスタリスク (*) を含めることができます。 ' ?' は 1 文字と一致し、'*' は 0 文字以上と一致します。 フィルターのマスクは、セミコロン (;) で区切ります。 フォルダー マスクは、最後に円記号 (\) を付ける必要があります。 除外マスクを指定するには、感嘆符 (!) を使用してマスクにプレフィックスを付加します。

フィルターは、次の規則に基づいてファイル名およびフォルダー名に適用されます。

  • 1 つのフィルターでファイル マスクとフォルダー マスクを一緒に指定すると、ファイル マスクはファイル マスクの一覧、フォルダー マスクはフォルダー マスクの一覧に分けられます。 ファイル マスクは、ファイル名に対してのみ適用されます。 フォルダー マスクは、フォルダー名に対してのみ適用されます。

  • コマンドがファイル名またはフォルダー名に一致すると、フィルター内の各マスクに対して、指定された順序で名前を比較します。 名前がマスクに一致すると、その名前は一致と見なされます。

  • フィルターのファイル マスクに包含マスクが含まれる場合、ファイル マスクのいずれにも一致しないファイルは除外されます。

  • フィルターのファイル マスクに除外マスクのみが含まれる場合、ファイル マスクのいずれにも一致しないファイルは包含されます。

  • フィルターのフォルダー マスクに包含マスクが含まれる場合、フォルダー マスクのいずれにも一致しないフォルダーは除外されます。

  • フィルターのフォルダー マスクに除外マスクのみが含まれる場合、フォルダー マスクのいずれにも一致しないフォルダーは包含されます。

次に、フィルター マスクの例を示します。

マスク

説明

*.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

参照

処理手順

2 つのフォルダーの比較

注釈を使用したファイルの変更の表示

2 つのフォルダーの相違点の調整

概念

フォルダーの比較フィルター

その他の技術情報

フォルダーおよびファイルの比較

Tf コマンド ライン ユーティリティのコマンド