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