Page 5 of 11
Re: Integration of Everything [voidtools]
Posted: 26 Aug 2021 15:29
by highend
I think it's a good change trying to protect XY from crashing
So, v0.9.2 is out.
; Querying a drive at its root level (no subfolder used) can easily
; crash XYplorer (because of too many items in the search result)
; E.g.: C:\, f:C:\ or d:C:\
; Default: true (to disable this, use: false)
; If set to true, this behavior can be overriden with the " /f" switch
; at the end of the query
; E.g.: C:\ /f, f:C:\ /f or d:C:\ /f
ConfirmRootDrive=true
So if you don't want to be bothered with that security mechanism, change
ConfirmRootDrive=false
or if you don't want to turn it off, use the
/f at the end of the query...
Re: Integration of Everything [voidtools]
Posted: 26 Aug 2021 16:08
by Filehero
Re: Integration of Everything [voidtools]
Posted: 24 Sep 2021 14:59
by Horst
I found a type of Everything query which the script currently doesn't handle.
In the Everything GUI and the es.exe tool the following example is a valid query
c:\temp\download\everything *.zip zip-file-name:"Everything64.exe"
It searches in the folder c:\temp\download\everything thru all zip files for the filename Everything64.exe
This works for Total Commander (uses the Everything SDK)
and also in my Cmd script for Free Commander which uses the es.exe tool.
In the XY Everything script the result is "No match(es) found..."
The real result of es.exe is
Screenshot - 24.09.2021 , 14_58_02.png
From the help
container-file-name:
container-file-names:
zip-file-name:
zip-file-names:
Search zip files for the specified semicolon (;) delimited list of filenames.
Examples:
container-file-name:Everything.exe
container-file-name:Everything.exe;Everything.chm
regex:container-file-name:^Everything
Re: Integration of Everything [voidtools]
Posted: 24 Sep 2021 15:35
by highend
Comment out this line:
Code: Select all
$query = regexreplace($query, '\b-(?!([riwps]|n (?!\d))\b)', '"-"');
Then use the script for a week and tell me if you found anything that doesn't work anymore^^
Re: Integration of Everything [voidtools]
Posted: 24 Sep 2021 17:32
by Horst
Thanks for the fast response.
It works with all basic constructs from the help so far.
I'll test it as requested the next few days and report any problems.
Re: Integration of Everything [voidtools]
Posted: 24 Sep 2021 17:49
by Horst
To get the same resuluts as the es command line query for the regex: examples from the help
I had also to comment out the following
// Do NOT escape double quotes!
// $query = replacelist($query, '< > & | ^', '^< ^> ^& ^| ^^', " ");
Re: Integration of Everything [voidtools]
Posted: 24 Sep 2021 23:43
by highend
I had also to comment out the following...
This can lead to problems...
E.g. the path contains a
& but no space (so that you wouldn't need to quote it by default)
No problem:
Code: Select all
es.exe "D:\Temp\archive\d&e" *.zip regex:zip-file-name:^SH_BG4_Sofia
Problem:
Code: Select all
es.exe D:\Temp\archive\d&e *.zip regex:zip-file-name:^SH_BG4_Sofia
No problem if the & is escaped
Code: Select all
es.exe D:\Temp\archive\d^&e *.zip regex:zip-file-name:^SH_BG4_Sofia
Re: Integration of Everything [voidtools]
Posted: 25 Sep 2021 00:11
by Horst
There is a problem in this cases but the user can still add his own quoting around the whole string.
My test case was
c:\temp\download\everything regex:container-file-name:^Everything
Without my last change the query didn't find files in the zips where the name starts with E
Using the ^ in RegEx is a very common usage.
Re: Integration of Everything [voidtools]
Posted: 25 Sep 2021 11:09
by highend
For the moment use this instead:
Code: Select all
// Escape characters but only if the "regex:" modifier is not found!
if (!regexmatches($query, "\bregex:")) {
$query = regexreplace($query, "(<|>|&|\||\^)", "^$1");
}
Re: Integration of Everything [voidtools]
Posted: 25 Sep 2021 17:46
by Horst
Looks fine so far.
All tests show the same results as the es command line.
Re: Integration of Everything [voidtools]
Posted: 28 Sep 2021 11:49
by highend
Ok, released v0.9.3 with "smart mode" completely disabled and character escaping only when no regex modifier was found...
Re: Integration of Everything [voidtools]
Posted: 28 Sep 2021 15:14
by highend
v0.9.4 released
The changes regarding escaping a query were not sufficient in v0.9.3.
Escaping still took place even in double quoted paths which could lead to entries not found, e.g.:
Code: Select all
Org query: "D:\Temp\archive\d&e" *.zip
Modified: "D:\Temp\archive\d^&e" *.zip
So now escaping will only happen if the regex: modifier isn't found and no double quotes are in the query...
Please redownload if you've got the v0.9.3 version
Re: Integration of Everything [voidtools]
Posted: 30 Sep 2021 13:31
by highend
v0.9.5 released
This is not a mandatory update.
It adds an entry (always in the last position) of the drop-down field of previously used entries:
<Manage query list>
If you select this a quick edit opens that allows you to modify all existing drop-down entries.
I personally use this to get rid of entries that I do not to intend to use more than once.
The gui will open again if you've used that entry, displaying the new list in the drop-down^^
1.gif
Re: Integration of Everything [voidtools]
Posted: 02 Oct 2021 10:28
by NBRU
I ran the script "everything_v0.9.5.xys ", the "まとめ.xlsx" file cannot be found,Horst's script is working fine:
viewtopic.php?f=7&t=12054&start=165

Re: Integration of Everything [voidtools]
Posted: 02 Oct 2021 10:38
by Horst
I'm using Highend's script since a long time.
If its not working for you but my old simple script works
it looks like the code page is the problem.
My simple script doesn't change the code page before running es.exe.
Highend's script changes the code page to 65001 which is normaly fine and works for me.
You can try to change this in the script to your code page or even remove it.