[fixed]Multirename = and == cannot be passed as param

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

Moderators: Hacker, petermad, Stefan2, white

Post Reply
User avatar
nsp
Power Member
Power Member
Posts: 1913
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

[fixed]Multirename = and == cannot be passed as param

Post by *nsp »

I'm using Multirename wrapped into an em_mr command with %A as parameter.
I can call "SavedTemplate" but not "=SavedTemplate" nor "==SavedTemplate"
Multirename is launched but it say that template is not found.
If i set a command with MultiRename= or Multirename== it works but i was expecting = and == being prefix like for LOADSEARCH !
User avatar
jinsight
Senior Member
Senior Member
Posts: 299
Joined: 2003-02-25, 19:47 UTC
Location: Wooster, Ohio, USA

Re: Multirename = and == cannot be passed as param

Post by *jinsight »

Guessing what you're trying to do, these em_ commands worked:

[em_MultiRenameRequest]
cmd=MULTIRENAME=
param=?

[em_MultiRenameRequest]
cmd=MULTIRENAME==
param=?
License #1945
Windows 10 Pro x64
Version 22H2 (OS Build 19045.3930)
TC 11.00 x64 and x86, Everything 1.5.0.1366a x64, QAP 11.6.3.1 x64
User avatar
nsp
Power Member
Power Member
Posts: 1913
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

Re: Multirename = and == cannot be passed as param

Post by *nsp »

I know the sytax you used works, but this is not the issue !
I have em_ commands like:
em_ls:

Code: Select all

cmd:LOADSEARCH
params:%A
em_mr:

Code: Select all

cmd:MULTIRENAME
params:%A
I use = or == as prefix for the parameter and not glued to the command !
  • With "LoadSearch" it work as i expect. i.e em_ls ==iso in commad line:
    • the saved iso search is loaded, processed, and result is loaded.
  • With "MultiRename" i.e em_mr ==cleanup_names in command line:
    • I receive an error dialog with ==cleanup_names not found ???
User avatar
white
Power Member
Power Member
Posts: 5785
Joined: 2003-11-19, 08:16 UTC
Location: Netherlands

Re: Multirename = and == cannot be passed as param

Post by *white »

I agree that it is not consistent wit LOADSEARCH where the prefix is glued to the parameter.
HOSTRORY.TXT wrote:12.08.20 Added: Command LOADSEARCH <saved name> (e.g. on button): Put one equal sign = in front of name to start searching immediately, two == to start and feed to listbox after search (32/64)
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50475
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: Multirename = and == cannot be passed as param

Post by *ghisler(Author) »

It doesn't work because command and parameters are separated by a space. The = sign must follow directly the MULTIRENAME command, so it doesn't work when there is a space between MULTIRENAME and =.
Author of Total Commander
https://www.ghisler.com
User avatar
white
Power Member
Power Member
Posts: 5785
Joined: 2003-11-19, 08:16 UTC
Location: Netherlands

Re: Multirename = and == cannot be passed as param

Post by *white »

ghisler(Author) wrote: 2022-04-20, 09:03 UTC It doesn't work because command and parameters are separated by a space. The = sign must follow directly the MULTIRENAME command, so it doesn't work when there is a space between MULTIRENAME and =.
That was clear, but perhaps you can add it so it's more flexible and consistent.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50475
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: Multirename = and == cannot be passed as param

Post by *ghisler(Author) »

It would be nice, but MULTIRENAME isn't the only command which supports = to start immediately. Maybe I will add them all when I find the time.
Author of Total Commander
https://www.ghisler.com
User avatar
nsp
Power Member
Power Member
Posts: 1913
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

Re: Multirename = and == cannot be passed as param

Post by *nsp »

The only other command i know which use =/== is LOADSEARCH and works as described being able to use = or == as parameter prefix and not only as command postfix. Did i missed orher commands ?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50475
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: Multirename = and == cannot be passed as param

Post by *ghisler(Author) »

SYNCOPEN also supports = to start comparing immediately.
See help topic "Dialog box: Configuration: Change button bar".
Author of Total Commander
https://www.ghisler.com
User avatar
nsp
Power Member
Power Member
Posts: 1913
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

Re: Multirename = and == cannot be passed as param

Post by *nsp »

In the Help, SYNCOPEN works like LOADSEARCH using parameter prefix and not command postfix:
9. SYNCOPEN saved_sync_name opens synchronize dirs with saved options. If the parameter begins with an equal sign "=", the comparison will start immediately. If the equal sign is the only parameter, the comparison will start with the current directories and last used options
I'm using other sync/backup pgm so did not noticed the syncopen command :roll:

So from the help and the history, MULTIRENAME is the only command using = and == in command only and not in parameters !
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50475
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: Multirename = and == cannot be passed as param

Post by *ghisler(Author) »

You are right, I checked my code and the other two seem to skip any number of spaces. I will do that for MULTIRENAME too.
Author of Total Commander
https://www.ghisler.com
User avatar
nsp
Power Member
Power Member
Posts: 1913
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

[fixed]Multirename = and == cannot be passed as param

Post by *nsp »

in 10.50 B2
All seems to be consistent now MULTIRENAME, LOOADSEARCH, SYNCOPEN support both command postfix and parameter prefix !
Thx Christian
User avatar
petermad
Power Member
Power Member
Posts: 16027
Joined: 2003-02-05, 20:24 UTC
Location: Denmark
Contact:

Re: [fixed]Multirename = and == cannot be passed as param

Post by *petermad »

How about OPENATTRIBUTES - it also supports =

These works:

Code: Select all

cmd=OPENATTRIBUTES=
param=savedsetting

Code: Select all

cmd=OPENATTRIBUTES=
param= savedsetting

Code: Select all


[code]cmd=OPENATTRIBUTES
param==savedsetting

Code: Select all


[code]cmd=OPENATTRIBUTES
param= =savedsetting

Code: Select all


[code]cmd=OPENATTRIBUTES
param== savedsetting

Code: Select all


[code]cmd=OPENATTRIBUTES
param= = savedsetting

Code: Select all


cmd=OPENATTRIBUTES=savedsetting

Code: Select all

cmd=OPENATTRIBUTES =savedsetting

Code: Select all

cmd=OPENATTRIBUTES= savedsetting

Code: Select all

cmd=OPENATTRIBUTES = savedsetting

but this one does not work:

Code: Select all

cmd=OPENATTRIBUTES =
param=savedsetting
License #524 (1994)
Danish Total Commander Translator
TC 11.51 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1391a
TC 3.60b4 on Android 6, 13, 14
TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
Post Reply