Recent Posts

Pages: [1] 2 3 4 5 ... 10
1
My current code:

MCParams := '-AutoRun="SelectFile"';
ShellExecute(0, 'open', PChar(MC_PATH), PChar(MCParams), nil, SW_SHOWNORMAL);

##########################################
#Name:SelectFile
#Type:multiscript
#ID:3dc58130a89d422c841855e79ab4c6bd
#Desc:File Selection
#Options:
##########################################

@var $TmpPath = TranslateEnvString("%temp%") + "\MC_PARAM.tmp";
@var $FileContent;
@var $DirectoryPath;
@var $SelectedFile;

if(FileExists($TmpPath) == 1)
{
   $FileContent = LoadStringFromFile($TmpPath);
   @var $Lines = StrSplit($FileContent, "\r\n");
   $DirectoryPath = $Lines[0];
   $SelectedFile = $Lines[1];
   DeleteFile($TmpPath, "NODIALOG, SILENT, NOPROGRESS");
      
   #@var $text = "TEMP: " + $TmpPath + "\n" + "DIR: " + $DirectoryPath + "\n" + "FILE: " + $SelectedFile;
   #MessageBox("PARAMS", $text, 0);
   
   MC.SetActivePanel PANEL=RIGHT      
   MC.Explorer.Goto PATH="{$DirectoryPath}"
   MC.Explorer.SetItemFocus ITEM="{$SelectedFile}"
}
else
{
   MessageBox("Error!", "Parameters not found!", 0);
}

So, I run MC with autorun parameter and save into temp a file with directory path and file name.
Script is reading this temp file, deleting it and set right panel with our directory path.

STILL selecting a file NOT WORKING!

Edit: Sometimes works, when adding Sleep() and SetSourceSelected(). But it depends on machine load... sometimes MC have no time to refresh list of files in panel, or something...

   Sleep(1500);
   MC.Explorer.SetItemFocus ITEM="{$SelectedFile}"
   @var $arr[] = {$SelectedFile};
   SetSourceSelected($arr, 1);

But, there must be better way... @Mathias (Author) ?

-Pawel

2
This MC command line works
MCParams := Format('-AutoRun="SelectFile" "%s" "%s"',  [MCDirectory, MCFileName]);
ShellExecute(0, 'open', PChar(MC_PATH), PChar(MCParams), nil, SW_SHOWNORMAL);

Script (SelectFile) is called.
For now I am not trying to select RIGHT PANEL and select file.
The problem is PARAMETERS. I am passing -AutoRun, and 2 others (Dir path and File name)

But, I have no idea how to display param 0 and param 1 values
This should work - but I got empty strings:

##########################################
#Name:SelectFile
#Type:multiscript
#ID:3dc58130a89d422c841855e79ab4c6bd
#Desc:File Selection
#Options:
##########################################

@var $DirectoryPath = ${param:0};
@var $SelectedFile = ${param:1};

@var $msg0 = "DIR : " + {$DirectoryPath};
@var $msg1 = "FILE : " + {$SelectedFile};

MessageBox("PARAM, $msg0, 0);
MessageBox("PARAM, $msg1, 0);

MessageBox shows empty string... so, the first problem is here... detecting parameters

The problem must be in command line - either MC not support -AutoRun<script> with other parameters or I pass other parameters in wrong way...

-Pawel
   
3
Will this work ? While I'am not an expert in passing parameters, I had a similar issue when writing a Goto link Target script (no "Sleep()" delay so it didn't execute properly) Try this MultiScript in User-Defined command (should fix your rapid firing issue):
Multicommander MultiScript:
Code: [Select]
    @var $targetPath = ${arg:0};
    @var $targetFile = ${arg:1};
    MC.Explorer.Goto PANEL=RIGHT PATH="{$targetPath}"
    Sleep(1200);
    MC.Explorer.SetItemFocus PANEL=RIGHT ITEM="{$targetFile}"

Also, according to Grok 4.3 AI, it says your current Delphi code quoting is messy and likely breaking the parameter parsing. Use this cleaner version:
Delphi code:
Code: [Select]
MCParams := Format('-AutoRun="SelectMyFile ""%s"" ""%s"""',
                   [DIRECTORY_PATH, FILE_NAME_WITH_EXT]);

ShellExecute(0, 'open', PChar(PATH_TO_MULTI_COMMANDER),
             PChar(MCParams), nil, SW_SHOWNORMAL);

Let me know if it works or might need further tweaking (you get the gist), but I had a prob /w a Goto Link Target script, it wasn't focusing on the Set Item because it was firing too rapidly, adding a sleep and the correct syntax fixed it !
P.S: The MultiCommander MultiScript code I provided is sound, not sure about the Delphi fix though...
4
I want to run Multi Commander via external application.
This application runs MC and pases 2 parameters. A directory path and file name.
I want to focus on RIGHT panel (for example) and select this file in this directory.
How to do this?

I see Multi Commander support -Autorun parameter that allows to run a script.
Here is my UDC script:

I need to run Multi Commander with specified

##########################################
#Name:SelectMyFile
#Type:function
#ID:3dc58130a89d422c841855e79ab4c6bd
#Desc:File Selection
#Options:Confirm
##########################################

MC.Explorer.Goto PANEL=RIGHT PATH="${param:0}" ItemFocus="${param:1}"



Multi Commander is running with this code (Delphi):
           
MCParams := '-AutoRun="SelectMyFile ' + '""' + DIRECTORY_PATH + '"" ' + '""' + FILE_NAME_WITH_EXT + '"""';
ShellExecute(0, 'open', PChar(PATH_TO_MULTI_COMMANDER), PChar(MCParams), PChar(EmptyStr), SW_SHOWNORMAL);

It should work, but it is not!
What do I do wrong?

-Pawel
5
When navigating outside permitted scope of locked tab, new tab is opened (that’s what I want), but the new one got the same colour I’ve defined for the locked tab.
Can that be switched off?
When going to levels higher than locked ones, I don’t need info about “mother” tab, it’s just introducing chaos in tabs view.
6
Okay. Got it. I thought the left and right buttons controlled the folder and file list separately. Actually, the hierarchy is different. The right side is a higher level.
7
Ok thanks, I'll investigate if there are other offending processes.
Just for clarity, what parameters are referenced on the docs/troubleshooting-hang page then?
That more for file operation (copy/move) where you can configure read/write strategy and configure cache size, buffer and such..
8
Support and Feedback / Re: Create button with relative path
« Last post by whiskytechfred on June 16, 2026, 23:12:58 »
I found I can use something like:
${mcpath}\..\..\app.exe
and that works!

Sorry for the useless entry.
Fred
9
Ok thanks, I'll investigate if there are other offending processes.
Just for clarity, what parameters are referenced on the docs/troubleshooting-hang page then?
10
Support and Feedback / Create button with relative path
« Last post by whiskytechfred on June 16, 2026, 22:56:52 »
Hello,
I'd like to customize a button to launch an app using a relative path.  This button would launch an app relative to the MC path.
I looked at external commands and I don't seem to be able to use %~d0 or the like.
I also looked at Multi-Script but the path commands seem to be related to the source or target panels.
Is there a way to achieve what I'm looking for?
Thanks in advance,
Fred
Pages: [1] 2 3 4 5 ... 10