フォルダ比較を行うとき、タイプや名前、フォルダ階層中の場所に基づいたリストから項目を包含または除外したい状況があるかもしれません。Merge では、比較結果リスト中の項目の包含と除外を制御するフィルタの設定が行えます。
フィルタの定義
フィルタは、フィルタ設定ページのコントロールを使用して設定できます。
フィルタはいくつでも定義できますが、一度にアクティブにできるのは 1 つだけです。フィルタには、名前とタイプに基づいて、どのファイルとフォルダを包含または除外するかを定義するパターンをいくつでも含めることができます。
ファイルまたはフォルダを結果リストに含めるべきかどうかを判断する際、Merge はアクティブなフィルタのパターンを上から下へすべて試します。ファイルまたはフォルダに一致した最下部のパターンによって、そのファイルまたはフォルダを結果リストに包含するか除外するかが決定されます。ファイルまたはフォルダがどのパターンとも一致しない場合は、結果リストに含められません。
デフォルト フィルタには、_.__
で始まるファイル(FAT/FAT32 ボリューム上の拡張属性ファイル)を例外として、すべてのファイルとフォルダが包含されるようにするパターンが含まれています。一般に、すべてを包含することから始め、その後、結果からファイルとフォルダを取り除くパターンを加えていくことが、より簡単とされます。常に、少なくともすべてのフォルダを包含するパターンから始めることをお勧めします。あるフォルダが結果リストに含まれていない場合、そのフォルダ内のファイルとフォルダは、たとえその後の包含パターンに一致したとしても、結果リストには含まれません。
各パターンは 3 つの構成可能な設定を含みます。1 番目(タイプ)は、パターンに一致する項目を結果リストに含めるか、あるいは除外するかどうかを制御します。2 番目(一致)は、パターンに一致する項目のタイプ - ファイル、フォルダ、あるいは両方 - を制御します。3 番目(パターン)は、ファイルおよび/またはフォルダの名前に対して一致するテキストから成ります。これについては、後で詳細に説明します。
パターンがファイルまたはフォルダに一致するには、パターンの一致とパターン設定が、ファイル/フォルダのタイプと名前にそれぞれ一致する必要があります。パターンがファイルまたはフォルダに一致すると、パターンのタイプ(包含または除外)がファイルまたはフォルダに適用されます。ファイルまたはフォルダを包含するか除外するかの最終決定は、最後に一致したパターンが持っています。
パターンのテキストをファイルおよびフォルダの名前と比較して、それらにパターンを適用可能かどうかが調べられます。テキストは filename.txt のような単純な値を持つことができ、その名前のファイルまたはフォルダに一致します。あるいは、ワイルドカード文字およびパス区切り文字を含む、より複雑な値を持つこともできます。ワイルドカード文字には *、**、? があります。* は、パス区切り文字を除くあらゆる文字の連続に一致します。** はパス区切り文字を含むあらゆる文字の連続に一致します。? は任意の 1 文字に一致します。セミコロンまたはカンマで区切ることにより、複数のパターン テキストを 1 つのパターンに含めることができます。
パターン テキストは、通常、ファイルまたはフォルダの名前に対して一致します。しかし、名前と同様にファイルまたはフォルダの場所に対しても一致させたい場合は、パターン テキストにパス区切り文字を含めることができます。
例
例 1:すべてのファイルとフォルダを含める
タイプ | 一致 | パターン | 説明 |
---|---|---|---|
包含 | フォルダ | ** | すべてのフォルダを含めます |
包含 | ファイル | ** | すべてのファイルを含めます |
例 2:すべてのファイルとフォルダを含める
タイプ | 一致 | パターン | 説明 |
---|---|---|---|
包含 | ファイルとフォルダ | ** | すべてのファイルとフォルダを含める |
例 3:すべてのフォルダと、‘Makefile’ という名前のファイルをすべて含める
タイプ | 一致 | パターン | 説明 |
---|---|---|---|
包含 | フォルダ | ** | すべてのフォルダを含めます |
包含 | ファイル | Makefile | Makefile という名前のファイルを含めます |
例 4:すべてのフォルダと、接尾辞が ‘.cpp’ のすべてのファイルを含める
タイプ | 一致 | パターン | 説明 |
---|---|---|---|
包含 | フォルダ | ** | すべてのフォルダを含めます |
包含 | ファイル | *.cpp | 接尾辞が .cpp のファイルを含めます |
例 5:‘a’ で始まり、‘,v’ で終わらないすべてのファイルを含める
タイプ | 一致 | パターン | 説明 |
---|---|---|---|
包含 | フォルダ | ** | すべてのフォルダを含めます |
包含 | ファイル | a* | a で始まるファイルを含めます |
除外 | ファイル | *,v | ,v で終わるファイルを除外します |
例 6:すべてのファイルとフォルダを含めるが、接尾辞が ‘.obj’ または ‘.exe’ のファイルと接頭辞が ‘tmp’ のファイルを除外する
タイプ | 一致 | パターン | 説明 |
---|---|---|---|
包含 | ファイルとフォルダ | ** | すべてのファイルとフォルダを含める |
除外 | ファイル | *.obj;*.exe;tmp* | 接尾辞が .obj または .exe、接頭辞が tmp のファイルを除外します |
例 7:すべてのフォルダと、‘help’ フォルダ下の接尾辞が ‘.xml’ のすべてのファイルを含める
タイプ | 一致 | パターン | 説明 |
---|---|---|---|
包含 | フォルダ | ** | すべてのフォルダを含めます |
包含 | ファイル | help/**.xml | help フォルダ下の接尾辞が .xml のファイルを含めます |
パス区切り文字としてスラッシュ文字も使用できます。Merge は円記号のパス区切り文字と同じ意味を持つものと見なします。
例 8:すべてのファイルとフォルダを含めるが、CVS または RCS サブディレクトリのトップレベルにある、接尾辞が ‘,v’ のファイルをすべて除外する
タイプ | 一致 | パターン | 説明 |
---|---|---|---|
包含 | ファイルとフォルダ | ** | すべてのファイルとフォルダを含める |
除外 | ファイル | "CVS/*,v";"RCS/*,v" | CVS と RCS サブフォルダ下にある、接尾辞が ,v のファイルを除外します |
もしパターン テキストにセミコロンあるいはカンマ文字を含める場合は、引用符を使ってください。
例 9:すべてのファイルとフォルダを含めるが、CVS または RCS サブディレクトリのすべての階層にある、接尾辞が ‘,v’ のファイルをすべて除外する
タイプ | 一致 | パターン | 説明 |
---|---|---|---|
包含 | ファイルとフォルダ | ** | すべてのファイルとフォルダを含める |
除外 | ファイル | "CVS/**,v";"RCS/**,v" | CVS と RCS サブフォルダ下のすべての階層にある、接尾辞が ,v のファイルを除外します |
例 10:すべてのファイルとフォルダを含めるが、最上位サブフォルダの ‘build’ を除外するほか、最上位サブフォルダ ‘packaged’ 下にあるファイルのうち、接頭辞 ‘merge_’ の後に 4 文字が続き、接尾辞が ‘.dmg’ のファイルをすべて除外する
タイプ | 一致 | パターン | 説明 |
---|---|---|---|
包含 | ファイルとフォルダ | ** | すべてのファイルとフォルダを含める |
除外 | フォルダ | /build | build という最上位フォルダを除外します |
除外 | ファイル | /packaged/merge_????.dmg | packaged という最上位サブフォルダにあるファイルのうち、接頭辞 merge_ の後に 4 文字が続き、接尾辞が .dmg のファイルを除外します |