shellext / Compare HashSets

Compare HashSets

Compare HashSets (frmCompareHashSets) is a three-pane differential analysis dialog for comparing two arbitrary hash lists. Both inputs are plain text, one hash per line; either can be loaded from a file (file picker, drag-and-drop), preloaded by another form, or pasted in. The right pane holds the comparison report; clipboard buttons let you split out just the shared, base-only, or compare-only subsets.

The dispatch is shellext.exe "%1" /hset, which calls frmCompareHashSets.Show. It's also reachable from the Hash Files window's system menu, and from File Hash's External → Compare hash Sets.

Compare HashSets dialog
Three-pane layout: Base Hash Set (left), Compare Hash Set (middle), Comparison Report (right). The "f" and "g" Wingdings buttons swap content left or right between the input panes; "..." opens a file picker for that pane.

Inputs

Each input pane (Base, Compare) accepts hashes one per line. Three ways to load:

MethodBehavior
Type or pasteDirect edit of the text box.
"..." buttonOpens a file picker, loads the file's contents into that pane, sets the small red label above the pane to the file name.
Drag and drop a fileDrop a hash file onto the pane — same effect as the file picker.
Preload from another formThe dialog's preload method is called from File Hash's External menu to fill in a starting set.

The "f" (Wingdings 3) and "g" arrows above the input panes shuffle content sideways — "f" copies Compare to Base and clears Compare; "g" copies Base to Compare and clears Base. Useful for swapping which side is treated as the baseline without re-loading.

Analyze

The Analyze button compares the two sets and writes the report into the right pane. Each input is first deduplicated (same hash twice in the list counts once). The report has four sections:

SectionContents
HeaderTotal and unique counts for each input.
Hashs found in both setsThe shared subset.
Hashs unique to base dirIn Base, not in Compare.
Hashs unique to compare dirIn Compare, not in Base.

If there are no shared hashes the dialog shows a "no matches" message instead of writing a report; the unique-only listings still rely on Analyze having been clicked.

Subset clipboard buttons

After Analyze runs, the three small buttons in the upper-right corner copy just one section of the report to the clipboard, without the surrounding header text:

ButtonCopies
SharedHashes present in both sets.
Base OnlyHashes in Base but not Compare.
Compare OnlyHashes in Compare but not Base.

This is the typical handoff: run Analyze, click the subset you want, paste it back into Compare HashSets or another tool to chain another comparison.

Other controls

ControlAction
Unique OnlyReplaces the Base pane with the deduplicated version of itself, sets the form caption to the unique count. Quick way to count unique hashes in a list and discard the duplicates.
Clear AllEmpties all three panes.
Select In Main UIVisible only when the Hash Files dialog is also open. Reads MD5s from the Base pane and selects every matching row in the Hash Files listview — setting up a follow-up action like Move Selected to SubFolder. Misses are listed in the Compare pane.
?One-line help text for Select In Main UI.

Typical workflows

See also