Introduction

Overview / Layout

Panels

FileSystem

File Operations

Extensions

Tools

Customization and Configuration

Configuring the Layout

User Commands and Scripting

Other

API

Troubleshooting

FAQ (pages to follow)

Index

MultiTags

MultiTags are text tags that can be used with some User Commands.

These tags are processed and translated before the command is executed.

MultiTags are supported by External Commands, Custom Commands and Batch Scripts.
MultiTags CANNOT be used in MultiScript directly. To use them from MultiScript you must use the GetTagValue() function.

MultiTag Description Example Output
${focusfilepath} Full path to the file/folder in focus C:\Programs Files\MultiCommander\MyFile.exe
${date:<date-format>} Current local date ${date:yyyy-MM-dd} -> 2016-02-28
${time:<time-format>} Current local time ${time:hh:mm:ss} -> "15:23:01"
${targetpath} Current path of the target panel D:\MyBackup\
${sourcepath} Current path of the source panel C:\Programs Files\MultiCommander\
${targetdevice} Current device of the target panel D
${sourcedevice} Current device of the source panel E
${sourcefocuspath} Full path to item in focus, in the source view.
This MultiTag is the same as ${focusfilepath}
F:\my folder\filename.txt
${targetfocuspath} Full path to item in focus, in the target view. D:\Temp\Folder 2\report.txt
${sourcefocusname} Name of item in focus, in the source view. filename.txt
${targetfocusname} Name of item in focus, in the target view. report.txt
${sourcefocusext} Extension of item in focus, in the source view. txt
${targetfocusext} Extension of item in focus, in the target view. txt
${leftpath}, ${leftfocuspath}, ${leftfocusname} | ${rightpath}, ${rightfocuspath}, ${rightfocusname}

Same as the ${sourcefocuspath} tags above, but referring to the left/right panel, independent of which panel is source or target.

$(pid) The Process ID of MultiCommander  
$(mctemp) Root temp folder used by MultiCommander  
${param:<num>}

Script parameter.
where <num> is the index of the parameter

${param:0} -> "D:\MyBackup\"

All the paths below depend on how Multi Commander is installed, ie. for a Single User, Multi User, or a portable installation.

${mcinstallpath} The path from which Multi Commander is run. C:\Program Files\MultiCommander
${mcappdatapath} Path to Multi Commander's application data folder. C:\Users\<username>\AppData\Roaming\MultiCommander\
${mclogpath} Path to Multi Commander's log folder C:\Users\<username>\AppData\Roaming\MultiCommander\Logs\
${mcconfigpath} Path to Multi Commander's main config folder. C:\Users\<username>\AppData\Roaming\MultiCommander\Config\
${mcuserappdata} Path to Multi Commander's user data storage. Used by plugins and extensions to store user data. C:\Users\<username>\AppData\Roaming\MultiCommander\UserData\

 

 


Paths that are expanded from MultiTags are NOT quoted, so you might need to put quotes around the MultiTag. You might also need to put single quotes around the entire command. (See the first MC.Run example below.)
 

Examples

Custom Commands

MC.Explorer.Goto PATH="${focusfilepath}"

MC.Run CMD="C:\bin\Compare.exe" ARG='-s "${sourcepath}" -d "${targetpath}"'

As you see in the MC.Run example. The ARG command has spaces and quote (") characters in it, so the entire ARG must then be encapsulated in single quote ( ' ) characters. 

External Commands

"C:\Program Files\Beyond Compare 3\BCompare.exe" -s "${leftfocuspath}" -d "${rightfocuspath}"

MultiScript Commands

MultiTags are only supported in MultiScript on lines that are Custom Commands.

@var $cmd = "C:\\Bin\\Compare.exe";

// INCORRECT
@var $path1 = "${sourcepath}"; // Not supported 
@var $path2 = "${targetpath}"; // Not supported 
MC.Run CMD="{$cmd}" ARG='-s "{$path1}" -d "{$path2}"'

// CORRECT
@var $path1 = GetSourcePath();
@var $path2 = GetTargetPath();
MC.Run CMD="{$cmd}" ARG='-s "{$path1}" -d "{$path2}"'

// CORRECT
MC.Run CMD="{$cmd}" ARG='-s "${sourcepath}" -d "${targetpath}"'

MultiScript calling a CustomCommand with Script variables. Custom Commands that are run from MultiScript are run by the Custom Command engine, so script parts in the Custom Command line must be encapsulated with { } (as the variables are above). They will be evaluated and expanded before that line is sent to the Custom Command engine.