dupe-from: returns empty results when combined with !path: exclusion

Discussion related to "Everything" 1.5.
charlesandre
Posts: 3
Joined: Thu Aug 06, 2026 11:29 am

dupe-from: returns empty results when combined with !path: exclusion

Post by charlesandre »

Everything version : 1.5.0.1418b (x64)

Hi David, and users!

I am trying to use a reference folder as a "sanctuary" to find and delete its exact binary duplicates located on other drives/folders, without affecting duplicates that have no relation to this reference folder.

I'm seeing unexpected behavior combining dupe-from: with a path exclusion.

Test folder structure:

D:\test_everything\
├── mesphotos\ (contains file A ×3 identical, file B ×1)
├── ailleurs1\ (contains B copy, file C, file F)
└── ailleurs2\ (contains B copy, file C copy, file F copy)

Query 1 — works correctly:

"D:\test_everything\" pic: dupe:size;sha256 dupe-from:"D:\test_everything\mesphotos\"

→ Returns 6 results (3× A, 3× B) — correct, since A and B both have a copy inside mesphotos.

Query 2 — combined with exclusion, returns 0 results:

"D:\test_everything\" pic: dupe:size;sha256 dupe-from:"D:\test_everything\mesphotos\" !path:"D:\test_everything\mesphotos\"

Also tried !"D:\test_everything\mesphotos\" (without path:) — same empty result.

Expected result: the 2 B-file copies located outside mesphotos (in ailleurs1 and ailleurs2), since B has a reference copy inside mesphotos and both external copies should remain after excluding mesphotos itself from the result set.

Actual result: 0 matches.

My guess is the exclusion filter is applied before/during the dupe-from: evaluation rather than after, so once mesphotos files are excluded from the working set, dupe-from: can no longer find any reference match there. But I may be wrong on the mechanism — happy to test any query variant you'd suggest.

Everything version: [1.5.0.1418b (x64)]

Thanks!
therube
Posts: 5804
Joined: Thu Sep 03, 2009 6:48 pm

Re: dupe-from: returns empty results when combined with !path: exclusion

Post by therube »

Don't think I've set up the tree quite as you've described, but...

all same named files are identical
directory a1 & a2 are identical, as are the a*copy* files

Code: Select all

C\dupefrom\
+---a1
|       b
|       c
|       f
|       
+---a2
|       b
|       c
|       f
|       
\---mes
        a
        a - Copy
        a - Copy (2)
        b
Looks to work,
dupe:size;sha256 dupe-from:c:\out\dupefrom c:/out/dupefrom !c:\out\dupefrom\mes\ file:

with b c & f being returned, all located in directories a1 & a2.

.
Everything - dupefrom + exclude.png
Everything - dupefrom in CHK.png
You do not have the required permissions to view the files attached to this post.
charlesandre
Posts: 3
Joined: Thu Aug 06, 2026 11:29 am

Re: dupe-from: returns empty results when combined with !path: exclusion

Post by charlesandre »

Thanks for testing! I think there's still a scope difference between our two commands though.

Your dupe-from: points to the whole root c:\out\dupefrom (which contains a1, a2, AND mes) — that's why c and f get returned even though they have no copy inside mes at all. That's actually the exact leak I'm trying to avoid.

Using your own tree, could you try dupe-from: restricted only to the mes subfolder, combined with excluding that same subfolder:

dupe:size;sha256 dupe-from:"c:\out\dupefrom\mes\" !"c:\out\dupefrom\mes\"

Expected: only b (which has a copy in mes) should be returned, from a1 and a2. c and f should NOT appear, since they have no reference copy in mes.

On my end, this narrower combination returns 0 results instead — even though dupe-from:"...\mes\" alone (without the exclusion) correctly returns everything sharing a hash with mes. It seems to be specifically the narrow scope + exclusion of that same scope combination that breaks.
therube
Posts: 5804
Joined: Thu Sep 03, 2009 6:48 pm

Re: dupe-from: returns empty results when combined with !path: exclusion

Post by therube »

dupe:size;sha256 dupe-from:"c:\out\dupefrom\mes\" !"c:\out\dupefrom\mes\"


0 results.

If I,
dupe:size;sha256 dupe-from:c:\out\dupefrom\mes\ !mes


then I get b in a1 & a2 (& also /mes/)
along with all the a's in /mes/


I'm not really putting my head around this, at this point in time... it's just a mes ;-).
charlesandre
Posts: 3
Joined: Thu Aug 06, 2026 11:29 am

Re: dupe-from: returns empty results when combined with !path: exclusion

Post by charlesandre »

It seems it's could be a bug ?

Thanks for confirming — I think we can rule out a syntax mistake on my end at this point. Two different exclusion phrasings (!"full\path\" and !mes) both produce incorrect results (0 results vs. an incomplete/wrong result where the reference folder still shows up despite being excluded).

This looks like a genuine bug in how dupe-from: interacts with exclusion filters, rather than something fixable by adjusting the query. Would it make sense to flag this directly to David for a closer look, or is there a dedicated bug-report process/subforum I should use instead?

In the meantime I'll fall back to another dedup tool for this specific step. Thanks for digging into this with me!
void
Developer
Posts: 20194
Joined: Fri Oct 16, 2009 11:31 pm

Re: dupe-from: returns empty results when combined with !path: exclusion

Post by void »

Query 2 — combined with exclusion, returns 0 results:

"D:\test_everything\" pic: dupe:size;sha256 dupe-from:"D:\test_everything\mesphotos\" !path:"D:\test_everything\mesphotos\"
0 results is expected.

dupe:
finds duplicates in your results after the search.
So excluding the mesphotos folder and then requiring at least one item from the mesphotos folder will fail to find any results.


Also tried !"D:\test_everything\mesphotos\" (without path:) — same empty result.
Including a \ in your search automatically applies path:, so path: is not needed here.
!path:"D:\test_everything\mesphotos\"

is the same as:
!"D:\test_everything\mesphotos\"



Expected result: the 2 B-file copies located outside mesphotos (in ailleurs1 and ailleurs2), since B has a reference copy inside mesphotos and both external copies should remain after excluding mesphotos itself from the result set.
You'll have to do this in two passes:
First search for:
"D:\test_everything\" pic: dupe:size;sha256 dupe-from:"D:\test_everything\mesphotos\"

Select all Files (Ctrl + A)
Copy filenames (Ctrl + Shift + C)
Search for:
filelist1:

Right click the filelist1: text in the search box and click Edit File List slot....
Paste your filenames and click OK.
Change the search to:
filelist1: !path:"D:\test_everything\mesphotos\"