How to direct EV or ES output to EV main window?

If you are experiencing problems with "Everything", post here for assistance.
v2026
Posts: 2
Joined: Sat Jun 20, 2026 4:32 pm

How to direct EV or ES output to EV main window?

Post by v2026 »

Hello,
I want to use and run es.exe, in order to avoid Everything's main window's search bar; the reason for this: According to my respective search situation, I have some "base" search conditions, plus individual, specific search conditions: the former remain stable for multiple searches, the latter have to be individualized for every search.

So I want to write my own "search bar", in AutoHotkey, with in fact 2 bars in the dialog, one for the "stable" conditions, and one (which has focus) for the individual ones; the AutoHotkey part is not too difficult.

But I don't really grasp the EV / ES part of the task, I have thoroughly read the help file, but nothing works. Thus:

a) Is it possible to redirect the everything.exe search results into the current (running) EV main window? How? I get the error message "is not a valid file list", but searching the forum for file list brings almost 1,000 hits..., and I don't find file list / filelist in the command lists; if I redirected the output to some filelist name (how?), how would I then redirect this file list to the EV main window?

(I don't need a file name, it would be sufficient that it was in the work memory, and that it would replace the EV main window's list every time. But especially, I don't find any "direct" command for redirecting the everything.exe search results into the main window list - and I don't know how it is called, which hampers my tries to find it.)

b) Is it possible with es.exe? It seems that the es.exe syntax is shorter than the everything.exe syntax, e.g. /as instead of (everything.exe) attrib:a and I use es.exe for file output, for other tasks, but here again, I don't see any option listed for simple output to the (running) everything main window.

(Obviously, I could have AHK write my (everything.exe, not es.exe) search string into the main window's search bar instead, but I'm looking for a more elegant solution.)

Thank you very much!
void
Developer
Posts: 20035
Joined: Fri Oct 16, 2009 11:31 pm

Re: How to direct EV or ES output to EV main window?

Post by void »

a) Is it possible to redirect the everything.exe search results into the current (running) EV main window?
It's not possible.
You cannot write to the Everything result list.
You would have to export as a file list and then open that file list in Everything.
Or set the Everything Search from autohotkey.
The search box in Everything is just a stock Windows edit control.
The search box has an ID of 10007.


b) Is it possible with es.exe?
No.
ES will only output the filenames and desired properties to stdout or to a specific file.



What about having your own result list in autohotkey? Use ES or the SDK to get your results.
therube
Posts: 5753
Joined: Thu Sep 03, 2009 6:48 pm

Re: How to direct EV or ES output to EV main window?

Post by therube »

Isn't your BASE & INDIVIUAL just going to be AND'd?

set BASE=audio: jimi hendrix
set INDIVIDUAL=Live

You can use ES to output those results to a file,
Then open that file as a search in Everything, using -search-file-list

ES.exe %BASE% %INDIVIDUAL% > c:\out\0list.txt
Everything.exe -new-window -search-file-list c:\out\0list.txt

That would load 0list.txt as a filelist in Everything, searching for matches to the lines in 0list.txt.

jimi hendrix Live Woodstock 1969
jimi hendrix Live Maui 1970
jimi hendrix Live LA 1969
jimi hendrix Live Hollywood Bowl 1967


---


Now, for something like that, you may not necessarily need ES.
But there could be situations where you're gathering data outside of Everything/ES & outputting that data to a file, which could then be used as a filelist to Everything.

Or... you may not need Everything at all (except to be running, for ES) & use ES alone, & do something like,
ES.exe %BASE% %INDIVIDUAL% -export-m3u8 c:\out\0list.m3u8
MYmediaplayer.exe 0list.m3u8

Would would then play all the files found by ES.
v2026
Posts: 2
Joined: Sat Jun 20, 2026 4:32 pm

Re: How to direct EV or ES output to EV main window?

Post by v2026 »

Thank you very much, David (void) and therube, for your kind info / suggestions.

I know about the ES output commands (incl stdout = to the command window), but my wishful thinking had me ask for the (inexistant) "to the current EV main window" alternative; as for EV (and I have a ramdisk a:\ running anyway, by (free) ImDisk and which I can suggest it has been running for some years now for me without fault):

I have problems with the EV help files since the commands for es.exe, and for everything.exe are different; the ones for ES being well documented here:
https://www.voidtools.com/support/every ... interface/
https://www.voidtools.com/support/every ... e_options/
but the ones for EV being spread all over the place, some of which here:
https://www.voidtools.com/support/everything/searching/
and https://www.voidtools.com/support/every ... verything/
and they are more or less trial-and-error then, and I don't grasp the file list help:
https://www.voidtools.com/support/every ... ile_lists/
and when the latter says,
"How do I open/search a file list
In Everything, from the File menu, click Open File List....
Select your EFU file list and click Open."
that's obviously not what I have in mind.

Btw, if I do exactly that, i.e. open the created efu file list manually (see below), the EV main window changes to:
- search bar: empty, but
- list control: exactly what I want! So obviously, all I'd need here is the correct EV (not ES) syntax for loading a given .efu file (successfully created by ES) into the current EV window.

Thus my AHK try (I spare you other unsuccessful alternatives):

s1 := "carolyn franklin" ; in practice, from an AHK superglobal; to be set in a previous function, would appear as a reminder in the title of the current AHK function's inputbox (but see below)
s2 := "chain reaction" ; in practice, from the current AHK function / AHK inputbox (but again, see below)
filedelete, a:\out.efu
run, c:\es.exe -a -p -s "%s1%" "%s2%" -export-efu a:\out.efu ; ok
isout := 0 ; for "no", out.efu doesn't exist yet
loop, 50
; (in practice, it's almost instantly:)
{
sleep, 100 ; 100ms
if fileexist("a:\out.efu")
{
isesout := 1
break ; the loop
}
}
; this seems to work (see below), and with the intended results in the list file
; from my understanding, the correct EV run then would be:
run, c:\everything.exe -filelist a:\out.efu
; ditto for run, c:\everything.exe -filelist "a:\out.efu"
; but: "Unable to open file list: a:\out.efu is not a valid file list."
; but unfortunately, therube, your syntax (after creating a .txt file instead of an .efu file, obviously) doesn't work either

(As an aside: I have a copy of everything.exe in the c:\ main folder, also es.exe and everything64.dll, but not a complete EV installation (which is in c:\Program Files\Everything\)... so that may be the reason for my getting the error messages?)

(It's true that I could use AHK's own windows to list the list entries, but I don't have any "problem" with the EV list window, I just haven't got the correct EV syntax to fill it.)

So we would need to know that correct EV syntax for such a work situation, in order to clarify the EV syntax for "open a given efu file by everything.exe, not manually" (and which I cannot find anywhere in the help files).

(As said above, manually opening the .efu file created by the above ES code shows the correct results in EV, so .efu (not .txt) seems to way to go.)

But in practice, the way described above (then with the correct EV code) does not seem to make real sense, it's too much fuss behind the scenes.

In practice here, I would use:

s := "carolyn franklin chain reaction" ; concatenated in/by AHK
winactivate, Everything ; running, obviously
winwaitactive, Everything,, 5 ; 5s, in fact it's almost immediate
if errorlevel
exit
controlsettext, Edit1, %s%, A ; update the search bar accordingly

Thus, the latter seems to be the solution to apply to my problem (AHK running anyway so the superglobal from a previous function being available to the function which then sets the variable part of my search and triggers EV).

Obviously, if the regular EV search was triggered by Enter in the search bar, I would do it otherwise, just intercept Enter in EV with
send, {end} %GlobalCurrentStandardSearchPart%{enter} ; (there's a space after the {end})
but since EV search works "get the results as you type", my solution above seems to be the right way to go.

A hint in this respect: using AHK's input command instead of its inputbox command would even avoid any visual clutter to begin with... at least if the user's "individual" part of the complete search string is "easy enough" (i.e. doesn't demand "thinking" while entering that search string part, as in the examples above.

So what would be the correct EV syntax to update its current window with some .efu file?
run, "c:\Program Files\Everything\everything.exe" "-filelist a:\out.efu" ; (with or without the "" around the filelist part, or just around "a:\out.efu")
not being any better, the error message appearing again, with "everything.exe" appearing in EV's search bar.
Last edited by v2026 on Tue Jun 23, 2026 8:05 am, edited 1 time in total.
void
Developer
Posts: 20035
Joined: Fri Oct 16, 2009 11:31 pm

Re: How to direct EV or ES output to EV main window?

Post by void »

Command line options for ES and Everything are different.
The basics:
For ES, just pass your Everything search directly. eg:
es.exe *.txt foo bar

(this is the same as setting your Everything GUI search to
*.txt foo bar
)
For Everything.exe, use
-s
. eg:
everything.exe -s "*.txt foo bar"

(this will set your Everything GUI search to
*.txt foo bar
)


; but: "Unable to open file list: a:\out.efu is not a valid file list."
EFU files are CSV files.
Please make sure your out.efu has a Filename header.
"Not a valid file list" means there's no Filename header.

Contents should look like:

Code: Select all

Filename
c:\example\path\to\file.txt
c:\example\path\to\file2.txt
"c:\example\path\to\filename,with,commas.txt"
Escape any
,
characters with double quotes (
"
)


; but unfortunately, therube, your syntax (after creating a .txt file instead of an .efu file, obviously) doesn't work either
Everything also supports text/plain files (.txt)
UTF-8, UTF-16, UTF-16 BE and ANSI are supported.
Please make sure each filename is on a separate line.
A .txt file list should look like:

Code: Select all

c:\example\path\to\file.txt
c:\example\path\to\file2.txt
edit: Everything 1.4 only supports UTF-8 .txt files, please write your .txt files as UTF-8.


(As an aside: I have a copy of everything.exe in the c:\ main folder, also es.exe and everything64.dll, but not a complete EV installation (which is in c:\Program Files\Everything\)... so that may be the reason for my getting the error messages?)
That's fine, ES communicates with the Everything GUI.
As long as the Everything GUI is running you shouldn't have any issues.
If you see any error codes, please report them here.


So what would be the correct EV syntax to update its current window with some .efu file?
The correct syntax is:

Code: Select all

"c:\Program Files\Everything\everything.exe" -filelist "a:\out.efu" 
Authotkey:

Code: Select all

Run, "c:\Program Files\Everything\everything.exe" -filelist "a:\out.efu"
v2026
Posts: 2
Joined: Sat Jun 20, 2026 4:32 pm

Re: How to direct EV or ES output to EV main window?

Post by v2026 »

David, Thank you very much for your very kind, extensive help!

(In my code here, there is one "isesout := 1" instead of "isout := 1" since I had used isesout first, then changed it to the better-readable isout, but that typo here had no incidence, I used correct code , the typo is only in my post here):

My code line In the first part:
run, c:\es.exe -a -p -s "%s1%" "%s2%" -export-efu "a:\out.efu" ; "" not needed here but standard, was ok
-> it created a UTF-8 file (checked) but without BOM/signature
= 5 lines: csv header line:
Filename,Size,Date Modified,Date Created,Attributes
and 4 lines for files

Then in the second part:
run, c:\everything.exe -filelist "a:\out.efu" ; (out.efu and out1/2/3.efu, obviously)
(ditto: run, "c:\Program Files\Everything\everything.exe" -filelist "a:\out.efu" etc.)
-> "unable ... not valid ..."

Thus I created ("save as" in file manager) 3 alternatives:
UTF8 without BOM (above), with header line
UTF8 without BOM, without header line
UTF8 with BOM, with header line
UTF8 with BOM, without header line
and I got 3 times the error message, whilst with-BOM-and-with-header-line (bolded here) worked finally:
the 4 lines for files, and above them, 7 lines for their (correct, checked) folder hierarchy (so the efu-file does not store them, but they're re-created by EV, from the full-paths in the file entries, on run-time)

This arises the question why es.exe does not create the BOM since that's expected by everything for creating the file list, BUT that might be a problem in my system (Windows, AHK: my AHK is latest version 1 UTF, not Ansi, but obviously without systematically creating BOMs)... so this would ask for an additional, intermediate step every time in AHK, to change the file encoding accordingly.

Then my even bigger disappointment (since I finally could see how it then proceeds): I had expected that EV's search bar (which was empty) would then be receptive to my input, for a possible other search, this time "regular", i.e. by search bar, but that was not the case: I had to close the EV window (Alt-F4), then reopen EV (or the EV window) again, to again get a "regular" EV main window, so the efu had triggered some additional instance or something, which I then had to leave first, for EV becoming "regular" again.

Thus, all the above may indeed be of some use to other users, for different uses, but in my case, it's obvious that I'll do it as I've said yesterday: I'll use
AHK's controlsettext, Edit1, %WholeSearchString%, A
in/for the regular EV search bar instead.

(Ironically, if there was an Everything option, "trigger search by Enter only", the user needing to concatenate "standard" and "individual" parts of their whole search string, could use EV's own search bar for that, instead of doing that externally; technically, this would even be possible currently, but would cause enormous visual clutter; and I say "ironically" since it's perfectly obvious that we all are VERY happy that the regular EV functioning is "progressive search results as you type"; it's just that this brilliant functionality becomes unwieldy in such, less frequent "bulk searches", with again and again a combination of some "base", and some "specifics" then: a toggle for that would obviously be perfect.)

This being said, thank you very much again, David, and therube, for your very kind, and in both cases very extensive, help!
void
Developer
Posts: 20035
Joined: Fri Oct 16, 2009 11:31 pm

Re: How to direct EV or ES output to EV main window?

Post by void »

-> "unable ... not valid ..."
Could you please upload an efu file from es that fails to load with not a valid filelist.
I am unable to produce the issue here.

Is it something to do with how autohotkey executes Everything? can you run the following from a command prompt:
"c:\Program Files\Everything\everything.exe" -filelist "a:\out.efu"

Do you see the same 'not valid' issue?



The next step is to check what is happening from the debug output:
"c:\Program Files\Everything\everything.exe" -filelist "a:\out.efu" -debug



This arises the question why es.exe does not create the BOM since that's expected by everything for creating the file list
The BOM is not required and not recommended.
To force ES to write a UTF-8 BOM, include the following in your ES query:
-utf8bom

It's unexpected the efu file without the BOM fails to load.



I'll also add Everything 1.5 doesn't require the Filename column.
If there's no Filename column, the first column is treated as the Filename column.
7 lines for their (correct, checked) folder hierarchy
The reconstructed folders for the folder hierarchy are hidden in Everything 1.5.


I had expected that EV's search bar (which was empty) ..
Set your search to match your ES search when opening the filelist:
"c:\Program Files\Everything\everything.exe" -filelist "a:\out.efu" -s "My Search"



(Ironically, if there was an Everything option, "trigger search by Enter only",
There is the UI option: Tools -> Options -> Search -> Search as you type.
But I don't have a way to control this externally.

Everything 1.5 does have:
Everything.exe -config-value search_as_you_type=0