How to get FileId (fast)?

If you are experiencing problems with "Everything", post here for assistance.
withmorten
Posts: 2
Joined: Mon Aug 10, 2026 6:50 pm

How to get FileId (fast)?

Post by withmorten »

Hi! Long time user of this software ...

I'm currently writing a pre and post processing tool to delete stale hardlinks on a backup target, run robocopy, then create new hardlinks according to the source.

For this, I'm using es.exe (1.1.0.37) to get a list of all files on the source drive and target drive, because Everything (1.5.0.1420) is so lovely insanely fast :)

I then need to get all FileIds for each file via GetFileInformationByHandle, which on my source nvme is fast, but on the target HDD is slow ...

It then occured to me, that Everything might be able to supply the FileIds.

I then added "-add-columns frn" to my es.exe call, which unfortunately seems to do the same thing I did, iterating over each file on disk to get the FileId, just as slow as my first approach.

I then found "index-frn" - which seems to be an indexed variant of the FileId which should be able to immediately be given to me by Everything.exe - but it seems es.exe doesn't know about this column yet - and I can't find a way for Everything to show it to me in the UI either.

I checked the es.exe source code and yep, the property isn't there. Is adding this to es.exe still on the roadmap and I'm just too early?
void
Developer
Posts: 20162
Joined: Fri Oct 16, 2009 11:31 pm

Re: How to get FileId (fast)?

Post by void »

Thank you for your feedback withmorten,

Everything doesn't index File IDs for files by default.
Everything does index File IDs for folders on NTFS volumes, but this is not exposed anywhere as a property.

I have put on my TODO list to add an index-file-id property.
However, I had a note not to do this because it would only work for folders.
I also have a strict rule not to duplicate properties. (could be seen as duplicating File ID)

index-frn: crashing with no parameter will be fixed in the next update.

To index File ID:
  • In Everything 1.5, from the Tools menu, click Options.
  • Click the Properties tab on the left.
  • Click Add.....
  • Search for:
    file
  • Select: File ID and click OK.
  • Click OK.
Indexing will still be slow, but will only need to be done once.

You can then access this information from es instantly with
-file-id
withmorten
Posts: 2
Joined: Mon Aug 10, 2026 6:50 pm

Re: How to get FileId (fast)?

Post by withmorten »

Thanks for the fast reply!

Ah I see, adding the file-id to the properties causes it to scan every file for the file-id ... I've decided to not add this, because I only very rarely need this information.

I also noticed a bit after posting that it's not actually as problematic as I thought that Everything has to actually read every files' properties before running robocopy, because robocopy would have done the same thing afterwards anyway to compare them, so the info is already cached and robocopy is much faster. I don't lose any time in the pre step.

I can live with the extra ~30-60 seconds it takes on the post step :)
void
Developer
Posts: 20162
Joined: Fri Oct 16, 2009 11:31 pm

Re: How to get FileId (fast)?

Post by void »

Everything 1.5.0.1421b fixes a crash when using the index-frn: search function.