WinMergeを使用して2つのディレクトリを比較しようとしています。
C:\ Users ...\Desktop\Compare\35_A
C:\ Users ...\Desktop\Compare\35_HS
## This is a directory/file filter for WinMerge
## This filter lets through only files ASP.NET developers care about
name: ASP.NET Devel
desc: Lets through only files ASP.NET developer cares about
## This is an exclusive filter
## (it lets through only matching files)
def: exclude
## Filters for filenames begin with f:
## Filters for directories begin with d:
## (Inline comments begin with " ##" and extend to the end of the line)
f: \.xml$
f: \.xlst$
f: \.xsl$
f: \.xslt$
f: \.dtd$
f: \.html$
f: \.htm$
f: \.css$
f: \.gif$
f: \.bmp$
f: \.jpg$
f: \.png$
f: \.js$
f: \.dll$
f: \.aspx$
f: \.asmx$
f: \.ascx$
f: \.vb$
f: \.resx$
f: \.cs$
f: \.js$
f: \.vbproj$
f: \.csproj$
f: \.sln$
f: \.webinfo$
f: \.config$
d: \\*$ ## Subdirectories
def: exclude
d: \\bin
d: \\obj
最後の3行はフィルターの一部ではありません。すべての\ bin \および\ obj \ディレクトリ内のすべてのものを無視しようとしているため、これらを追加しました。私は両方を試しましたdef: include
およびdef: exclude
、どちらも正確な結果を提供しません。
WinMergeのファイルフィルターに関するヘルプドキュメントを調べましたが、理解できません。
Includeおよびexcludeは、ファイルのリストに表示されているものを参照し、比較が行われた後のフォルダ。フィルタは、そのリストから包含および除外のものです。
excludeフィルターを使用すると、ファイルリストから、フィルターにリストされているすべてのnotが除外されます。
includeフィルターを使用する場合、ファイルリストには、フィルターにリストされているすべてのnotが含まれます。
あなたの場合、除外を使用しているので、フィルターに具体的にリストしたファイルとフォルダーのみが表示されます。 bin
およびobj
フォルダーをブロックするには、表示したい他のフォルダーのallの名前を知っている必要があります。フィルタ。
コードの場合、インクルードフィルターを使用する方が簡単だと思います。そうすれば、気にしないフォルダやファイルをブロックすることができます。
最初のdef:
をinclude
に変更し、2番目のdef
を削除します。 def
は1つしか持てないと思います。 d:
ルールは次のようになります
d: \\bin$
d: \\obj$
他の人が述べたように、あなたは1つのdef:
行しか持つことができず、フィルターは実際にはdef:
ディレクティブの反対のアクションを実行します(つまり、def
がexclude
フィルターの場合)実際にファイルを含めます)。
したがって、その知識を使用すると、次の行にすべてのサブディレクトリが含まれていることがわかります。
d: \\*$ ## Subdirectories
WinMergeをインストールしておらず、その中のRegExエンジンに精通していませんが、負のルックアップを使用して、「bin」と「obj」を除くすべてのサブディレクトリを含めることができます。
d: ^\\((?!bin|obj)(.+)|(.+)(?<!bin|obj))$
@heavydの回答では限られた成功しかありませんでしたが、後でWinMergeの明らかな後継者であるWinMerge2011の方がはるかに簡単であることがわかりました。
WinMerge2011で私は使用しました
xd: \\bin(\\.+|)$
xd: \\obj\\
ドキュメントを見つけるのは難しいかもしれませんが、私は見つけました http://forums.winmerge.org/viewtopic.php?f=4&t=101
WinMerge 2011では、ファイル/ディレクトリフィルタが拡張され、包含ルールと除外ルールの両方を組み合わせることができるようになりました。 .fltファイルのdef:ラベルを省略すると、f:とd:は、接頭辞xが付いていない限り、包含ルールとして機能します。接頭辞xが付いている場合は、除外ルールとして機能します。除外ルールを形成するためにオプションで接頭辞xが付いたf:およびd:ラベルは、ワイルドカードフィルターでも使用できます。
参考までに、WinMergeは開発されていないようです。 https://en.wikipedia.org/wiki/WinMerge の概要ノートを参照してください。 WinMerge2011を https://bitbucket.org/jtuc/winmerge2011/downloads/ でダウンロードします。