User Defined Commands - Custom Commands

Custom Commands provide a structured approach to creating sophisticated Multi Commander automation by utilizing pre-built functions from Multi Commander's core system and installed extensions. This command type bridges the gap between simple Internal Commands and complex MultiScript programming, offering a powerful yet accessible syntax for automating file operations, panel management, and system interactions through guided function selection and parameter configuration.

Structured Command System

Custom Commands expose Multi Commander's extensive built-in functionality through an organized Group β†’ Function β†’ Parameter selection system. These commands provide access to advanced features with customizable options and MultiTag support, enabling sophisticated automation workflows without requiring full scripting knowledge while maintaining compatibility with MultiScript for even more advanced integrations.

Custom Commands Overview

Custom Commands represent the middle ground of User Defined Commands complexity, providing structured access to Multi Commander's extensive built-in functionality through an organized function selection system that doesn't require scripting expertise.

How Custom Commands Work
Three-Tier Selection System
1. Group Selection
  • Core Modules: Multi Commander's built-in functionality
  • Extensions: Installed extension packages
  • Plug-ins: Loaded plug-in modules
  • System Functions: Windows integration capabilities
2. Function Selection
  • Dynamic List: Functions update based on selected group
  • Organized Display: Functions grouped by capability
  • Descriptive Names: Clear function descriptions
  • Complete Access: All available functions in the group
3. Parameter Selection
  • Context-Sensitive: Parameters specific to selected function
  • Guided Input: Dropdown lists for available options
  • MultiTag Support: Dynamic values using MultiTags
  • Flexible Configuration: Mix static and dynamic parameters
Command Execution Process
  • Command Building: Selected function and parameters form complete command syntax
  • MultiTag Processing: Dynamic values replaced with current context information
  • Function Execution: Multi Commander executes the constructed command
  • Result Handling: Function results integrated into Multi Commander interface
Power and Accessibility

Custom Commands provide access to the same powerful functions used by Multi Commander's built-in features, but with user-customizable parameters and options.

Key Advantages
Structured Approach
  • Guided Creation: Helper dropdowns eliminate guesswork
  • Function Discovery: Explore available capabilities through browsing
  • Parameter Validation: Built-in validation for function parameters
  • Syntax Assistance: Automatic command syntax generation
Flexibility
  • Manual Editing: Direct command editing for advanced users
  • MultiTag Integration: Dynamic values for context-aware commands
  • Parameter Combinations: Mix static settings with dynamic values
  • Extension Access: Utilize extension and plug-in capabilities
Primary Applications
File Management Automation
  • Selection Operations: Advanced file selection with custom patterns
  • View Control: Automated panel view and filter management
  • Navigation: Sophisticated path navigation and bookmarks
  • Search Operations: Customized file search with specific parameters
Interface Customization
  • Panel Management: Configure panel layouts and views
  • Tool Integration: Access built-in tools with custom settings
  • Workflow Optimization: Automate repetitive interface operations
  • Extension Utilization: Leverage extension features in custom workflows

Configuring Custom Commands

Setting up Custom Commands involves using the three-dropdown helper system to select functions and parameters, or directly editing command syntax for advanced users who know the specific commands they want to create.

Configuration Interface
Custom Commands Configuration

The Custom Commands configuration interface with Group, Function, and Parameter selection system

Example: File search command for *.jpg files with auto-start enabled

Helper Dropdown System
Group Dropdown
  • Core Groups: Multi Commander's built-in function categories
  • Extension Groups: Functions from installed extensions
  • Plug-in Groups: Capabilities from loaded plug-ins
  • Dynamic Content: Available groups depend on installation
Function Dropdown
  • Contextual Update: Functions update when group changes
  • Complete Listing: All functions available in selected group
  • Descriptive Names: Clear function names and purposes
  • Add Button: Insert selected function into command field
Options/Parameters Dropdown
  • Function-Specific: Parameters relevant to selected function
  • Required Parameters: Parameters ending with "=" need values
  • Optional Settings: Additional function configuration options
  • Add Integration: Append parameters to command
Command Editor
  • Direct Editing: Manual command entry for experienced users
  • Syntax Building: Helper dropdowns build command syntax automatically
  • MultiTag Integration: Insert dynamic values using MultiTags
  • Validation: Real-time syntax checking and parameter validation
Configuration Process
Step-by-Step Setup
  1. Select Custom Commands: Choose "Custom Commands" as the command type
  2. Choose Group: Select the function group from the first dropdown
  3. Select Function: Choose the specific function from the updated second dropdown
  4. Add Function: Press the "Add" button to insert function into command field
  5. Configure Parameters: Select and add required and optional parameters
  6. Add MultiTags: Insert dynamic values using MultiTag syntax
  7. Test Command: Verify command syntax and functionality
  8. Save and Assign: Save command and assign to interface elements
Alternative: Direct Command Entry
  • Expert Mode: Type commands directly if you know the syntax
  • Syntax Reference: Use Custom Commands List for command reference
  • Mixed Approach: Use dropdowns for discovery, then edit manually
  • Copy and Modify: Start with examples and customize parameters
Parameter Requirements

Parameters ending with "=" require additional information. The helper system guides you through required parameter values.

MultiTags in Custom Commands

Custom Commands support the full range of MultiTags for dynamic parameter values, enabling commands to adapt to current file selections, panel paths, and contextual information automatically.

Common MultiTags for Custom Commands
MultiTag Description Common Usage
${sourcepath} Current source panel path Search operations, navigation commands
${targetpath} Current target panel path Copy/move operations, path navigation
${focusfilepath} Full path to focused file File-specific operations, tool launching
${selectedfiles} Names of all selected files Batch operations, selection processing
${currentfilepath} Current file in multi-file operations Per-file processing with "Run Separately" option
${param:n} Command line parameter (n = number) Parameterized commands, scripting integration
MultiTag Integration Examples
File Search with Dynamic Path
MC.Explorer.Search SEARCHPATH="${sourcepath}" SEARCHFOR="*.jpg" AUTOSTART

Searches for JPG files in the current source panel path.

Panel Navigation
MC.Explorer.Goto PANEL=LEFT PATH="${targetpath}"

Navigates left panel to the current target panel path.

Selection with Pattern
MC.Explorer.Selection.Select PATTERN="${param:0}" SETFOCUS

Selects files matching pattern from command parameter.

View Filter Application
MC.Explorer.SetViewFilter FILTER="*.${param:0}" PANEL=ACTIVE

Sets view filter to show files with extension from parameter.

MultiTag Best Practices
Effective MultiTag Usage
  • Context Awareness: Choose MultiTags that match command purpose
  • Parameter Validation: Ensure MultiTags provide expected data types
  • Fallback Values: Consider what happens when MultiTags are empty
  • Path Handling: Use appropriate path tags for file vs. directory operations
Common Patterns
  • Current Context: Use ${sourcepath} for operations on current location
  • File Processing: Use ${selectedfiles} for batch operations
  • Cross-Panel: Use ${targetpath} for source-to-target operations
  • Parameterized: Use ${param:n} for flexible command line usage
MultiTags Reference
Complete Documentation

Custom Commands support the full MultiTags system. For complete tag reference including advanced tags and formatting options:

πŸ“– Complete MultiTags Documentation
Comprehensive reference for all available MultiTags
Testing MultiTags
  • Command Line Testing: Test MultiTag resolution in command line bar
  • Different Contexts: Test with various file selections and paths
  • Empty Values: Verify behavior when tags resolve to empty values
  • Special Characters: Test with files containing special characters

Command Options and Features

Custom Commands provide specialized options for controlling execution behavior, including confirmation dialogs and per-file processing capabilities for enhanced workflow control and safety.

Execution Control Options
Custom Command Options

Available execution options for Custom Commands

Display Confirmation
  • Safety Feature: Shows confirmation dialog before command execution
  • User Review: Allows users to review command before execution
  • Accidental Prevention: Prevents unintended command execution
  • Recommended Use: Commands that modify files or system state
When to Use Confirmation
  • File Modifications: Commands that change, move, or delete files
  • System Changes: Operations that affect system settings
  • Batch Operations: Commands that process multiple files
  • Menu Placement: Commands accessible through menu bars
Run Separately
  • Per-File Execution: Command runs once for each selected file
  • Current File Context: ${currentfilepath} changes for each iteration
  • Sequential Processing: Files processed one at a time
  • Individual Results: Each execution produces separate results
Run Separately Use Cases
  • File Processing: Operations that work on one file at a time
  • Tool Integration: External tools that accept single file input
  • Conditional Logic: Per-file decision making in MultiScript calls
  • Result Aggregation: Collecting results from multiple file operations
Safety and Workflow
Best Practices for Options
  • Confirmation for Risk: Enable confirmation for potentially destructive operations
  • Testing First: Test commands without confirmation initially
  • User Education: Document what confirmation dialogs will show
  • Context Consideration: Consider where commands will be accessed
Option Combinations
  • Both Options: Can enable both confirmation and run separately
  • Confirmation per File: With both enabled, confirms each file operation
  • Selective Use: Different options for different command types
  • User Preference: Consider user workflow and experience level
Parameter Support
Command Line Parameters
  • Parameter Access: Use ${param:n} MultiTags for command line arguments
  • Flexible Input: Commands can accept variable arguments
  • Scripting Integration: Call Custom Commands from MultiScript with parameters
  • Dynamic Behavior: Same command behaves differently based on parameters
Parameter Examples
  • ${param:0}: First command line argument
  • ${param:1}: Second command line argument
  • Mixed Usage: Combine parameters with MultiTags and static values
  • Validation: Commands should handle missing or invalid parameters gracefully

Practical Custom Command Examples

These examples demonstrate the power and flexibility of Custom Commands across different categories of Multi Commander functionality and automation scenarios.

Search and Navigation
Smart File Search
Command: MC.Explorer.Search SEARCHPATH="${sourcepath}" SEARCHFOR="*.${param:0}" AUTOSTART
Usage: Create alias "findt" β†’ Type "findt jpg" to search for JPG files
Description: Parameterized search for files by extension
Quick Navigation to Target
Command: MC.Explorer.Goto PANEL=LEFT PATH="${targetpath}"
Usage: Assign to hotkey (e.g., Ctrl+Shift+G)
Description: Navigate left panel to current target path
Bookmark Current Location
Command: MC.Explorer.Favorites.Add PATH="${sourcepath}" NAME="${param:0}"
Usage: "bookmark ProjectFiles" creates bookmark with name
Description: Add current path to favorites with custom name
Selection and Filtering
Advanced File Selection
Command: MC.Explorer.Selection.Select PATTERN="*.${param:0}" SETFOCUS
Usage: "select doc" selects all .doc files
Description: Select files by extension with parameter
View Filter Toggle
Command: MC.Explorer.SetViewFilter FILTER="${param:0}" PANEL=ACTIVE
Usage: "filter *.txt" shows only text files
Description: Set view filter using command parameter
Select Files Modified Today
Command: MC.Explorer.Selection.Select DATERANGE="TODAY" SETFOCUS
Usage: Assign to button for one-click selection
Description: Select all files modified today
Panel Management
Dual Panel Synchronization
Command: MC.Explorer.Goto PANEL=RIGHT PATH="${sourcepath}"
Usage: Assign to hotkey for instant panel sync
Description: Make both panels show the same path
View Mode Switcher
Command: MC.Explorer.SetViewMode VIEWMODE="${param:0}" PANEL=ACTIVE
Usage: "view details" or "view thumbnails"
Description: Change view mode via parameter
Panel Layout Toggle
Command: MC.Explorer.Panel.ToggleLayout LAYOUT=HORIZONTAL
Usage: Quick button for layout switching
Description: Toggle between vertical and horizontal layouts
Tools Integration
Calculate Folder Size
Command: MC.Tools.FolderSize PATH="${sourcepath}" SHOWRESULT
Usage: Right-click menu or button assignment
Description: Calculate size of current folder
File Checksum Verification
Command: MC.Tools.Checksum FILE="${focusfilepath}" ALGORITHM="${param:0}"
Usage: "checksum MD5" calculates MD5 hash
Description: Calculate file checksum with algorithm parameter
Multi-Rename Setup
Command: MC.Tools.MultiRename FILES="${selectedfilepaths}" PRESET="${param:0}"
Usage: "rename photos" uses "photos" preset
Description: Launch Multi-Rename with selected files and preset
Advanced: Per-File Processing Example
Individual File Tool Processing
Configuration
  • Command: MC.Tools.FileInfo FILE="${currentfilepath}" EXPORT="${targetpath}${currentfilename}_info.txt"
  • Options: Run Separately βœ“, Display Confirmation βœ“
  • Assignment: Create button "Export File Info"
  • Purpose: Export detailed file information for each selected file
Execution Flow
  1. Select Files: User selects multiple files in source panel
  2. Set Target: Navigate target panel to output directory
  3. Execute Command: Click "Export File Info" button
  4. Per-File Processing: Command runs once for each selected file
  5. Confirmation Each: User confirms each file operation
  6. Result: Individual info files created in target directory
Multi-File Processing Benefits

The "Run Separately" option enables sophisticated per-file workflows while maintaining user control through confirmation dialogs and providing access to individual file context via ${currentfilepath} and related MultiTags.

Custom Commands Mastery

Master Custom Commands by exploring the Group β†’ Function β†’ Parameter system to discover Multi Commander's extensive capabilities, utilizing MultiTags for dynamic parameter values, and leveraging execution options like "Run Separately" for per-file processing. Remember that Custom Commands bridge the gap between simple Internal Commands and complex MultiScript programming, providing structured access to powerful functionality. Use the helper dropdowns for discovery and learning, then graduate to direct command editing for advanced customization and integration with MultiScript workflows.

Related Documentation

Enhance your Custom Commands knowledge with: User Defined Commands Overview, Complete Custom Commands List, More Examples, MultiTags Reference, MultiScript Integration, and other command types: Internal Commands, External Commands, Batch Scripts.