Everything search: no effect

Bug reports will be moved here when the described bug has been fixed

Moderators: Hacker, petermad, Stefan2, white

Post Reply
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6976
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp »

ghisler(Author) wrote:
Perhaps users could indicate with an INI option that they are using the Everything beta until a better option becomes available?
Sadly the Everything SDK does not have any functions to access the size/date/time fields from the beta.
Here the link to my request in the Everything forum for adding this info.
It also contains an answer from the Author.
http://www.voidtools.com/forum/viewtopic.php?f=2&t=5562
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50550
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

It's as I expected, it will not be available until the version 1.4 is out of beta. The IPC stuff doesn't allow to read out the file attributes.
Author of Total Commander
https://www.ghisler.com
TW
Senior Member
Senior Member
Posts: 390
Joined: 2005-01-19, 13:35 UTC

Post by *TW »

which means it might take another 2 years. :(
licenced and happy TC user since 1994 (#11xx)
User avatar
Lefteous
Power Member
Power Member
Posts: 9537
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

I'm not aware of the API details but isn't it possible to send the search string to Everything like e.g. *.dll size:>100kb
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6976
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp »

Lefteous wrote:I'm not aware of the API details but isn't it possible to send the search string to Everything like e.g. *.dll size:>100kb
That way was the reason I proposed sending RAW search string to Everything as an option. There are many useful Everything options which would be allowed this way.
User avatar
Lefteous
Power Member
Power Member
Posts: 9537
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

2Horst.Epp
That way was the reason I proposed sending RAW search string to Everything as an option. There are many useful Everything options which would be allowed this way.
I think this are different stories. Let user enter an advanced syntax (e.g. Everything syntax) is one thing. The other thing is how the search details are send to Everything. Would Everything accept a raw string? If yes Everything would do the filtering and TC would get the final list. This list would not contain file information but it's displayed only on demand anyway.

I'm not sure though if there is an Everything search pattern for every search option in TC but I guess advanced Everything users could answer this. Example: Can I search for 'files not having a certain attr.'?
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6976
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp »

Lefteous wrote:2Horst.Epp
That way was the reason I proposed sending RAW search string to Everything as an option. There are many useful Everything options which would be allowed this way.
I think this are different stories. Let user enter an advanced syntax (e.g. Everything syntax) is one thing. The other thing is how the search details are send to Everything. Would Everything accept a raw string? If yes Everything would do the filtering and TC would get the final list. This list would not contain file information but it's displayed only on demand anyway.

I'm not sure though if there is an Everything search pattern for every search option in TC but I guess advanced Everything users could answer this. Example: Can I search for 'files not having a certain attr.'?
Yes, more than in pure TC.
Syntax: attributes:<attributes>
Attribute Constants:
A Archive
C Compressed
D Directory
E Encrypted
H Hidden
I Not content indexed
L Reparse point
N Normal
O Offline
P Sparse file
R Read only
S System
T Temporary
V Device

Here a list of Everythings search options:

Operators:
space AND
| OR
! NOT
< > Grouping
" " Search for an exact phrase.

Wildcards:
* Matches zero or more characters.
? Matches one character.
*.* Same as *

Macros:
quot: Literal double quote (")
apos: Literal apostrophe (')
amp: Literal ampersand (&)
lt: Literal less than (<)
gt: Literal greater than (>)
#<n>: Literal unicode character <n> in decimal.
#x<n>: Literal unicode character <n> in hexadecimal.

Modifiers:
ascii: Enable fast ASCII case comparisons.
case: Match case.
diacritics: Match diacritical marks.
file: Match files only.
folder: Match folders only.
noascii: Disable fast ASCII case comparisons.
nocase: Do not match case.
nodiacritics: Do not match diacritical marks.
nofileonly: Do not allow files only.
nofolderonly: Do not allow folders only.
nopath: Do not match path.
noregex: Disable regex.
nowfn: Do not match the whole filename.
nowholefilename: Do not match the whole filename.
nowholeword: Do not match whole words only.
nowildcards: Disable wildcards.
noww: Do not match whole words only.
path: Match path and file name.
regex: Enable regex.
utf8: Disable fast ASCII case comparisons.
wfn: Match the whole filename.
wholefilename: Match the whole filename.
wholeword: Match whole words only.
wildcards: Enable wildcards.
ww: Match whole words only.

Functions:
ansicontent:<text> Search ANSI file content for text.
attrib:<attributes> Search for files and folders with the specified file attributes.
attributes:<attributes> Search for files and folders with the specified file attributes.
child:<filename> Search for folders that contain a child with a matching filename.
childcount:<count> Search for folders that contain the specified number of subfolders and files.
childfilecount:<count> Search for folders that contain the specified number of files.
childfoldercount:<n> Search for folders that contain the specified number of subfolders.
content:<text> Search file content for text.
dateaccessed:<date> Search for files and folders with the specified date accessed.
datecreated:<date> Search for files and folders with the specified date created.
datemodified:<date> Search for files and folders with the specified date modified.
daterun:<date> Search for files and folders with the specified date run.
da:<date> Search for files and folders with the specified date accessed.
dadupe: Find files and folders with the same date accessed.
dc:<date> Search for files and folders with the specified date created.
dcdupe: Find files and folders with the same date created.
dm:<date> Search for files and folders with the specified date modified.
dmdupe: Find files and folders with the same date modified.
dr:<date> Search for files and folders with the specified date run.
dupe: Search for duplicated filenames.
empty: Search for empty folders.
endwith:<text> Filenames (including extension) ending with text.
ext:<ext1;ext2;...> Search for files with a matching extension in the specified semi-colon delimited extension list.
filelist:<fn1|fn2|...> Search for a list of file names in the specified pipe (|) delimited file list.
filelistfilename:<name> Search for files and folders belonging to the file list filename.
fsi:<index> Search for files and folders in the specified zero based internal file system index.
infolder:<path> Search for files and folders in the specified path, excluding subfolders.
len:<length> Search for files and folders that match the specified filename length.
namepartdupe:<path> Search for files and folders with the same name part.
parent:<path> Search for files and folders in the specified path, excluding subfolders.
parents:<count> Search for files and folders with the specified number of parent folders.
rc:<date> Search for files and folders with the specified recently changed date.
recentchange:<date> Search for files and folders with the specified recently changed date.
root: Search for files and folders with no parent folders.
runcount:<count> Search for files and folders with the specified run count.
size:<size> Search for files with the specified size in bytes.
sizedupe: Search for duplicated sizes.
startwith:<text> Filenames starting with text.
type:<type> Search for files and folders with the specified type.
utf16content:<text> Search UTF-16 file content for text.
utf16becontent:<text> Search UTF-16 Big Endian file content for text.
utf8content:<text> Search UTF-8 file content for text.

Function Syntax:
function:value Equal to value.
function:<=value Less than or equal to value.
function:<value Less than value.
function:=value Equal to value.
function:>value Greater than value.
function:>=value Greater than or equal to value.
function:start..end Is in the range of values from start to end.
function:start-end Is in the range of values from start to end.

Size Syntax:
size[kb|mb|gb]

Size Constants:
empty
tiny 0 KB < size <= 10 KB
small 10 KB < size <= 100 KB
medium 100 KB < size <= 1 MB
large 1 MB < size <= 16 MB
huge 16 MB < size <= 128 MB
gigantic size > 128 MB
unknown

Date Syntax:
year
month/year or year/month depending on locale settings
day/month/year, month/day/year or year/month/day depending on locale settings
YYYY-MM-DDT[HH[:MM[:SS[.sss]]]]
YYYYMMDD[THH[MM[SS[.sss]]]]

Date Constants:
today
yesterday
tomorrow
<last|past|prev|current|this|coming|next><year|month|week>
<last|past|prev|coming|next><x><years|months|weeks|hours|minutes|mins|seconds|secs>
january|february|march|april|may|june|july|august|september|october|november|december
jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec
sunday|monday|tuesday|wednesday|thursday|friday|saturday
sun|mon|tue|wed|thu|fri|sat
unknown
User avatar
Lefteous
Power Member
Power Member
Posts: 9537
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

2Horst.Epp
I'm aware of the search syntax. I'm just not an expert in using it. So how do I perform the task in question. How do I search e.g. for files having the attr. S but not H?

I miss a 'doesn't match' operator.
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6976
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp »

Lefteous wrote:2Horst.Epp
I'm aware of the search syntax. I'm just not an expert in using it. So how do I perform the task in question. How do I search e.g. for files having the attr. S but not H?

I miss a 'doesn't match' operator.
That is the character "!" for NOT
So your search would be for example:
*.exe !attributes:h attributes:S
User avatar
Lefteous
Power Member
Power Member
Posts: 9537
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

2Horst.Epp
That is the character "!" for NOT
So your search would be for example:
*.exe !attributes:h attributes:S
Thanks - works like a charm. I looked in the function syntax only.
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6976
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp »

Using the FSE plugin one can search with Everything search syntax from inside of TC. The results are displayed in a list like TCs feed to listbox
and usable from this list.
FSE can use Everything or Locate32 as search engines.
Windows 11 Home, Version 24H2 (OS Build 26100.4061)
TC 11.55 RC2 x64 / x86
Everything 1.5.0.1391a (x64), Everything Toolbar 1.5.2.0, Listary Pro 6.3.2.88
QAP 11.6.4.4 x64
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50550
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

The Everything syntax is completely different from TC syntax, I don't see a way to integrate it into TC.

Currently if you do a search by size, TC searches with everything just by name, and does the size checks on the results. That's because the current release version of Everything doesn't seem to take the size from the MFT, so the search by size is painfully slow.
Author of Total Commander
https://www.ghisler.com
User avatar
Lefteous
Power Member
Power Member
Posts: 9537
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

2ghisler(Author)
The Everything syntax is completely different from TC syntax, I don't see a way to integrate it into TC.
As far as I know the TC search syntax is limited to the name. Why not expand it to something more powerful - even for searches without Everything? It would have to be convertible to Everything syntax internally.
Currently if you do a search by size, TC searches with everything just by name, and does the size checks on the results. That's because the current release version of Everything doesn't seem to take the size from the MFT, so the search by size is painfully slow.
Searches based on the search index that include size seem to be quite fast in Everything though.
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6976
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp »

ghisler(Author) wrote:The Everything syntax is completely different from TC syntax, I don't see a way to integrate it into TC.

Currently if you do a search by size, TC searches with everything just by name, and does the size checks on the results. That's because the current release version of Everything doesn't seem to take the size from the MFT, so the search by size is painfully slow.
Where is here the problem ?
I proposed to optionaly just give Everything whatever the user typed and don't interpret it by TC at all.
There is no need for combatibility of the search syntax in this case.
Its the user which has to know Everything syntax
and there are many users including me who do :D
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50550
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

TC syntax supports wildcards, multiple names (e.g. *.txt *.doc), exclusions (e.g. *.* | *.bak) and regular expressions. Other parameters like the size, time, or contents are set with other dialog elements.
Author of Total Commander
https://www.ghisler.com
Post Reply