Can $exec be sent SFN(%*) ?

Discussion related to "Everything" 1.5.
Post Reply
therube
Posts: 5719
Joined: Thu Sep 03, 2009 6:48 pm

Can $exec be sent SFN(%*) ?

Post by therube »

Can an $exec be sent a SFN(%*) ?
Maybe it would be $execSFN() instead of $exec() ?

As it is, some programs out there may not handle LFN... too well.
(Top of list, MS ;-).) But even CHK has trouble.

A $exec() of fullpathlen > 259 (or so), fails (in CHK).

Where a drag&drop of same set of files, works.
(I suppose that is by virtue of,
shell_execute_short_parameters=1
.)

If there were a way to send %* as SFN, or if there where a $execSFN(),
that worked in a way that shell_execute_short_parameters=1 worked,
then I could $exec() (via hotkey), rather then having to manually drag & drop.


1. $exec(), custom_open_command06=$exec("C:\BIN\chk.4.EVERYTHING.exe" %*)
- (CHK) does not "see" fullpathlen > ~159 chars, only 1 file is hashed
2. drag & drop
- Everything "shortens" things, where necessary, making it work - for all the files :-)
.
Everything - $exec() vs. drag&drop.png
Everything - $exec() vs. drag&drop.png (33.53 KiB) Viewed 69 times
void
Developer
Posts: 19863
Joined: Fri Oct 16, 2009 11:31 pm

Re: Can $exec be sent SFN(%*) ?

Post by void »

Enabling Tools -> Options -> Advanced -> shell_execute_short_parameters will already use short paths with $exec().

Please check what Everything is executing:
  • In Everything, from the Tools menu, under the Debug submenu, check Start Debug Logging....
  • Select some files and run your custom open command.
  • In Everything, from the Tools menu, under the Debug submenu, check Stop Debug Logging....
    ---This will open your %TEMP%\Everything Debug Log.txt
  • Please check this file for the following lines:
    exec: fullfilename <filename>
  • Make sure the filename is using the short path.
therube
Posts: 5719
Joined: Thu Sep 03, 2009 6:48 pm

Re: Can $exec be sent SFN(%*) ?

Post by therube »

Thinking it was just dumb mistake on my part.

Where ever I first came across this, I must not have had shell_execute_short_parameters=1 set (must not have thrown my user.ini into that Instance).

And then when I went to duplicate it, OFFICEMULE (screenshot shows that :-)), that definitely did not have that setting set (nor in my user.ini).


So... got to figure, it was just... me.
Post Reply