Folderdiff コマンド
更新 : 2007 年 11 月
folderdiff コマンドを使用すると、2 つのサーバー フォルダ、サーバー フォルダとローカル フォルダ、または 2 つのローカル フォルダにあるファイル間の相違点を視覚的に表示し、比較できます。
必要なアクセス許可
folderdiff コマンドを使用するには、[読み取り] のアクセス許可が [許可] に設定されている必要があります。詳細については、「Team Foundation Server のアクセス許可」を参照してください。
tf folderdiff [sourcePath] targetPath [/recursive] [/noprompt] [/server:serverName:port] [/filter:filter] [/filterLocalPathsOnly] [/view:same,different,sourceOnly,targetOnly]
パラメータ
引数 |
説明 |
---|---|
sourcePath |
比較操作でソース パスとなるローカル パスまたはサーバー パスです。この引数を指定しないと、targetPath がローカルのマップされたパス、sourcePath がそのパスに対してマップされたサーバー パスになります。 |
targetPath |
比較操作でターゲット パスとなるローカル パスまたはサーバー パスです。 |
serverName:port |
指定すると、すべてのサーバー パスはこのサーバー上にあると見なされます。このパラメータは、ローカル パス マッピングよりも優先されます。 |
filter |
/filter オプションに対し、包含フィルタ マスクと除外フィルタ マスクのセミコロンで区切ったリストを指定します。既定は "*" です (すべてが含まれます)。フィルタとマスクの詳細な説明については、このトピックの「解説」を参照してください。 |
オプション |
説明 |
---|---|
/recursive |
省略可能です。2 つのフォルダが再帰的に完全に比較されることを指定します。 |
/noprompt |
省略可能です。tf folderdiff を指定すると、ユーザー インターフェイスに何も表示せずに実行されます。その場合、出力は [コマンド プロンプト] ウィンドウに表示されます。 |
/filter |
省略可能です。比較するファイルまたはフォルダの名前の照合に使用する、包含フィルタ マスクと除外フィルタ マスクの一覧を指定します。 |
/filterLocalPathsOnly |
省略可能です。対応するサーバー パスが存在する場合を除き、ローカル パスのみがフィルタ処理されることを指定します。 |
/view |
省略可能です。以下の値を指定したコンマ区切りの一覧を使用して、出力に含める情報を指定します。 same - 出力には、ソース ディレクトリとターゲット ディレクトリで同じコンテンツを持つファイルが表示されます。 different - 出力には、ソース ディレクトリとターゲット ディレクトリで異なるコンテンツを持つファイルが表示されます。 sourceOnly - 出力には、ソース ディレクトリにのみ存在するファイルが表示されます。 targetOnly - 出力には、ターゲット ディレクトリにのみ存在するファイルが表示されます。 既定は "different,sourceOnly,targetOnly" です。 |
解説
/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