First, thank you for creating Everything. It's pretty amazing.
I'm running into an obscure issue with ES. I'm not sure if it's an issue directly with ES, but I was hoping to get your feedback on how to narrow it down:
I am running Everything 1.5.0.1352a and ES 1.1.0.26. I have content indexing enabled in certain directories. I've written a script that calls es.exe to do a content search, and it works great. The issue comes up when I try to call es.exe from WSL2, where I'm running a Linux distribution:
https://learn.microsoft.com/en-us/windo ... from-linux
If I do a search for text without spaces, it works correctly, but if I do a search for text with spaces, no results are returned.
To reproduce:
Create a test.txt file in Windows with:
test123
test 123
When I run these 2 commands from a Windows Command Prompt, the file is returned in both cases:
c:\es\es.exe -instance 1.5a content:"test123"
c:\es\es.exe -instance 1.5a content:"test 123"
From Linux, this command returns the file:
/mnt/c/es/es.exe -instance 1.5a content:"test123"
but this command returns no results:
/mnt/c/es/es.exe -instance 1.5a content:"test 123"
I've also tried these commands, but they don't work either:
/mnt/c/es/es.exe -instance 1.5a content:\"test\ 123\"
/mnt/c/es/es.exe -instance 1.5a "content:\"test 123\""
I'm not sure if I need to quote the arguments differently. Or is there a way I can print out exactly what arguments es.exe is seeing?
Thanks for your help.
Ryan
wsl and content searching via command-line
Re: wsl and content searching via command-line
Did you try single quotes"test 123"
'test 123'
("wsl"
PS: I can run (mentioned on the MS page):
C:\DEV\LOCATE\14.4.TESTING - Copy>ipconfig | grep IPv4 | cut -d: -f2
10.0.0.9
without Win10, without wsl, with only a few basic, stand-alone UNIX utilities [& a few associated libs] - in Win7 [& XP] .)
Re: wsl and content searching via command-line
Yes, I've tried these variations, but none return any results:
/mnt/c/es/es.exe -instance 1.5a content:'test 123'
/mnt/c/es/es.exe -instance 1.5a 'content:test 123'
/mnt/c/es/es.exe -instance 1.5a 'content:"test 123"'
/mnt/c/es/es.exe -instance 1.5a "content:'test 123'"
/mnt/c/es/es.exe -instance 1.5a content:'test 123'
/mnt/c/es/es.exe -instance 1.5a 'content:test 123'
/mnt/c/es/es.exe -instance 1.5a 'content:"test 123"'
/mnt/c/es/es.exe -instance 1.5a "content:'test 123'"
Re: wsl and content searching via command-line
Can't test (no WSL2 installed), but does any of the following work for you?
Code: Select all
/mnt/c/es/es.exe -instance 1.5a content:"""test 123"""
/mnt/c/es/es.exe -instance 1.5a content:"test\ 123"
Re: wsl and content searching via command-line
Neither of those work either - no results are returned. It's something with the space as if I remove the space, then the results are returned.
Re: wsl and content searching via command-line
Yeah, WSL will have its own mechanism for escaping spaces/quoting, which might get stripped before arriving at ES/Everything.
A trial & error method would be to enable the debug console in Everything (menu:Tools > Debug > Console) to see how your search arrives in Everything.
Searches are shown in green colour.
To close the debug console: menu:Tools > Debug > Console
A trial & error method would be to enable the debug console in Everything (menu:Tools > Debug > Console) to see how your search arrives in Everything.
Searches are shown in green colour.
To close the debug console: menu:Tools > Debug > Console
Re: wsl and content searching via command-line
Thanks, I didn't know about the Debug console.
When I do:
/mnt/c/es/es.exe -instance 1.5a content:"test 123"
it comes through as:
IPC: execute query: "content:test 123"
Ignoring WSL2, if I wanted to quote my entire search screen from a Windows Command Prompt, what is the syntax? I tried this, but it doesn't find any results:
c:\es\es.exe -instance 1.5a "content:"test123""
but also, this doesn't find anything either with no spaces.
c:\es\es.exe -instance 1.5a "content:test123"
Only this works:
c:\es\es.exe -instance 1.5a content:test123
Could it be the argument parsing in es.exe?
When I do:
/mnt/c/es/es.exe -instance 1.5a content:"test 123"
it comes through as:
IPC: execute query: "content:test 123"
Ignoring WSL2, if I wanted to quote my entire search screen from a Windows Command Prompt, what is the syntax? I tried this, but it doesn't find any results:
c:\es\es.exe -instance 1.5a "content:"test123""
but also, this doesn't find anything either with no spaces.
c:\es\es.exe -instance 1.5a "content:test123"
Only this works:
c:\es\es.exe -instance 1.5a content:test123
Could it be the argument parsing in es.exe?
Re: wsl and content searching via command-line
Without looking...
One of the (Everything) command line switches, maybe it is -s or -s* ?, sends the rest of its' params literally.
If the same applies to ES, also not sure, but that might be worth pursuing.
So something like.
One of the (Everything) command line switches, maybe it is -s or -s* ?, sends the rest of its' params literally.
If the same applies to ES, also not sure, but that might be worth pursuing.
So something like
es.exe -instance 1.5a -s content:"test 123"
Re: wsl and content searching via command-line
When I run that from a Windows command prompt, Everything sees it as:
IPC: execute query: content:"test 123"
When I run it from WSL2, it sees:
IPC: execute query: "content:test 123"
Does the es.exe command line argument processor not allow the entire search text to be quoted? That might be why this is happening because even this doesn't work from Windows:
c:\es\es.exe -instance 1.5a "content:test123"
as Everything logs the same as the WSL2 request above with the entire string quoted:
IPC: execute query: "content:test123"
IPC: execute query: content:"test 123"
When I run it from WSL2, it sees:
IPC: execute query: "content:test 123"
Does the es.exe command line argument processor not allow the entire search text to be quoted? That might be why this is happening because even this doesn't work from Windows:
c:\es\es.exe -instance 1.5a "content:test123"
as Everything logs the same as the WSL2 request above with the entire string quoted:
IPC: execute query: "content:test123"