Настройка пользовательского меню
Меню пользователя позволяет запускать внешние программы и открывать документы. Это список отдельных команд («пунктов»), задаваемых вами. Каждый пункт содержит имя и команду для выполнения. Также можно задать значок, дополнительные аргументы, начальную рабочую папку и флаги выполнения.
Дополнительные аргументы задают аргументы командной строки, передаваемые приложению при каждом запуске. Например, $(FullName) передает имена выделенных файлов (для каждого файла команда меню пользователя выполняется отдельно). Подробнее см. список переменных ниже.
Чтобы добавить новую команду в меню пользователя:
- В меню «Параметры» выберите «Настройка...», затем страницу «Меню пользователя».
- В списке «Пункты меню» выберите последнюю пустую строку.
- Введите имя нового пункта.
- Нажмите клавишу Enter.
- В поле «Команда» введите путь и имя запускаемого файла.
- Нажмите ОК.
Дополнительные функции
Меню пользователя поддерживает утилиты сравнения и слияния файлов и папок. Специальные переменные в поле «Параметры» (см. список ниже) позволяют передать такой утилите два файла или две папки. Например, введите "$(FileOrDirToCompareLeft)" "$(FileOrDirToCompareRight)" в поле «Параметры», чтобы передать два полных имени файлов или папок, заданных на панелях, в качестве аргументов утилиты сравнения/слияния (ее файл .exe указывается в поле «Команда»). Их можно задать прямо на панелях следующими способами:
- выделите оба файла или обе папки на одной панели,
- выделите первый файл или папку на левой панели, затем второй файл или папку на правой,
- выделите первый файл или папку, затем установите фокус на втором файле или папке на той же панели,
- выделите первый файл или папку на левой панели, затем установите фокус на втором файле или папке на правой (и наоборот),
- если на обеих панелях есть файлы или папки с одинаковыми именами, установите фокус на первом на одной панели; второй с тем же именем будет взят с противоположной панели.
В аргументах команд меню пользователя можно использовать список выделенных файлов и папок. В этом случае одна команда выполняется один раз для всех выделенных файлов и папок. См. переменные $(ListOfSelectedNames) и $(ListOfSelectedFullNames) в списке ниже.
Список переменных
Все переменные доступны в контекстных меню кнопок справа от полей «Команда», «Параметры» и «Рабочая папка».
Команда меню пользователя выполняется для каждого выделенного файла и папки либо для элемента в фокусе, если выделения нет. Файл или папка, для которых выполняется команда, в следующей таблице называются текущим файлом или папкой. Исключение: при использовании переменных для утилит сравнения/слияния или списков выделенных файлов и папок команда выполняется только один раз для всех выделенных элементов.
| Переменная | Описание |
|---|---|
| $(WinDir) | Полный путь папки Windows (например, C:\Windows\). |
| $(SysDir) | Полный путь системной папки (например, C:\Windows\system32\). |
| $(SalDir) | Полный путь папки Sally (например, C:\Tools\Sally\). |
| $[ENV_VAR] | Значение переменной окружения (замените ENV_VAR именем переменной окружения). |
| $(FullName) | Полное имя текущего файла или папки (например, C:\Program Files\Outlook Express). |
| $(Drive) | Диск текущего файла или папки (например, C:, D: или \\server\share). |
| $(Path) | Путь текущего файла или папки (например, \Windows\system32\). |
| $(Name) | Имя текущего файла или папки (например, file.txt). |
| $(NamePart) | Основная часть имени текущего файла или папки (например, file для файла file.txt). |
| $(ExtPart) | Расширение текущего файла или папки (например, txt для файла file.txt). |
| $(FullPath) | Полный путь текущего файла или папки (например, C:\Windows\system32\). |
| $(DOSFullName) | Полное имя DOS (формат 8.3) текущего файла или папки (например, C:\DOCUME~1\ALLUSE~1\APPLIC~1). |
| $(DOSPath) | Путь DOS (формат 8.3) текущего файла или папки (например, \DOCUME~1\ALLUSE~1\). |
| $(DOSName) | Имя DOS (формат 8.3) текущего файла или папки (например, APPLIC~1). |
| $(DOSNamePart) | Основная часть имени DOS (формат 8.3) текущего файла или папки (например, MYFIRS~1 для файла my first document.html). |
| $(DOSExtPart) | Расширение DOS (формат 8.3) текущего файла или папки (например, HTM для файла my first document.html). |
| $(DOSFullPath) | Полный путь DOS (формат 8.3) текущего файла или папки (например, C:\DOCUME~1\ALLUSE~1\). |
| $(DOSWinDir) | Полный путь DOS (формат 8.3) папки Windows (например, C:\Windows\). |
| $(DOSSysDir) | Полный путь DOS (формат 8.3) системной папки (например, C:\Windows\system32\). |
| $(FullPathInactive) | Полный путь, открытый на неактивной (целевой) панели (например, C:\Windows\system32\). |
| $(FullPathLeft) | Полный путь, открытый на левой панели (например, C:\Windows\system32\). |
| $(FullPathRight) | Полный путь, открытый на правой панели (например, C:\Windows\system32\). |
| $(FileToCompareLeft) | Полное имя первого файла для сравнения/слияния (например, C:\file1.txt). Если оба файла находятся на разных панелях, используется файл с левой панели. Подробнее о запуске утилит сравнения/слияния файлов и папок см. подраздел дополнительных возможностей выше. |
| $(FileToCompareRight) | Полное имя второго файла для сравнения/слияния (например, C:\file2.txt). Если оба файла находятся на разных панелях, используется файл с правой панели. Подробнее о запуске утилит сравнения/слияния файлов и папок см. подраздел дополнительных возможностей выше. |
| $(DirToCompareLeft) | Полное имя первой папки для сравнения/слияния (например, C:\dir1). Если обе папки находятся на разных панелях, используется папка с левой панели. Подробнее о запуске утилит сравнения/слияния файлов и папок см. подраздел дополнительных возможностей выше. |
| $(DirToCompareRight) | Полное имя второй папки для сравнения/слияния (например, C:\dir2). Если обе папки находятся на разных панелях, используется папка с правой панели. Подробнее о запуске утилит сравнения/слияния файлов и папок см. подраздел дополнительных возможностей выше. |
| $(FileOrDirToCompareLeft) | Полное имя первого файла или папки для сравнения/слияния (например, C:\file1.txt). Если оба файла или обе папки находятся на разных панелях, используется файл или папка с левой панели. Подробнее о запуске утилит сравнения/слияния файлов и папок см. подраздел дополнительных возможностей выше. |
| $(FileOrDirToCompareRight) | Полное имя второго файла или папки для сравнения/слияния (например, C:\file2.txt). Если оба файла или обе папки находятся на разных панелях, используется файл или папка с правой панели. Подробнее о запуске утилит сравнения/слияния файлов и папок см. подраздел дополнительных возможностей выше. |
| $(FileToCompareActive) | Полное имя первого файла для сравнения/слияния (например, C:\file1.txt). Если оба файла находятся на разных панелях, используется файл с активной (исходной) панели. Подробнее о запуске утилит сравнения/слияния файлов и папок см. подраздел дополнительных возможностей выше. |
| $(FileToCompareInactive) | Полное имя второго файла для сравнения/слияния (например, C:\file2.txt). Если оба файла находятся на разных панелях, используется файл с неактивной (целевой) панели. Подробнее о запуске утилит сравнения/слияния файлов и папок см. подраздел дополнительных возможностей выше. |
| $(DirToCompareActive) | Полное имя первой папки для сравнения/слияния (например, C:\dir1). Если обе папки находятся на разных панелях, используется папка с активной (исходной) панели. Подробнее о запуске утилит сравнения/слияния файлов и папок см. подраздел дополнительных возможностей выше. |
| $(DirToCompareInactive) | Полное имя второй папки для сравнения/слияния (например, C:\dir2). Если обе папки находятся на разных панелях, используется папка с неактивной (целевой) панели. Подробнее о запуске утилит сравнения/слияния файлов и папок см. подраздел дополнительных возможностей выше. |
| $(FileOrDirToCompareActive) | Полное имя первого файла или папки для сравнения/слияния (например, C:\file1.txt). Если оба файла или обе папки находятся на разных панелях, используется файл или папка с активной (исходной) панели. Подробнее о запуске утилит сравнения/слияния файлов и папок см. подраздел дополнительных возможностей выше. |
| $(FileOrDirToCompareInactive) | Полное имя второго файла или папки для сравнения/слияния (например, C:\file2.txt). Если оба файла или обе папки находятся на разных панелях, используется файл или папка с неактивной (целевой) панели. Подробнее о запуске утилит сравнения/слияния файлов и папок см. подраздел дополнительных возможностей выше. |
| $(ListOfSelectedNames) | Список выделенных файлов и папок активной (исходной) панели. Имена разделяются пробелами. Имена с пробелами заключаются в двойные кавычки (например, dir1 file.txt "my first document.html"). Порядок имен тот же, что на панели или в окне поиска. Максимальная длина списка — 32771 символ (обзор ограничений см. в подразделе «Ограничения длины командной строки» ниже). |
| $(ListOfSelectedFullNames) | Список полных имен выделенных файлов и папок активной (исходной) панели. Полные имена разделяются пробелами. Полные имена с пробелами заключаются в двойные кавычки (например, C:\test\dir1 C:\test\file.txt "C:\test\my first document.html"). Порядок имен тот же, что на панели или в окне поиска. Максимальная длина списка — 32771 символ (обзор ограничений см. в подразделе «Ограничения длины командной строки» ниже). |
Ограничения длины командной строки
Максимальная длина команды с аргументами зависит от версии Windows и от запуска через оболочку (см. флажок «Запускать в командной строке» в окне «Меню пользователя»).
Максимальная длина команды с аргументами при запуске через системную командную оболочку (точнее, с помощью пакетного файла):
| Версия Windows | Максимальная длина |
|---|---|
| Windows 2000 | 2041 |
| Windows XP | 8185 |
| Windows Vista | 8191 |
| Windows 7 | 8191 |
Максимальная длина команды с аргументами при прямом запуске (без системной командной оболочки):
| Версия Windows | Максимальная длина |
|---|---|
| Windows 2000 | 2080 |
| Windows XP | 2080 |
| Windows Vista | 2080 |
| Windows 7 | 32764 |
Примечания
Когда видна панель меню пользователя, новый пункт можно добавить перетаскиванием. Просто перетащите приложение или документ на эту панель.
См. также
Использование пользовательского меню
Окно «Меню пользователя»
Панель пользовательского меню
From the Sally manual (GPL-2.0-or-later), © 1997-2023 Open Salamander Authors; © 2025-2026 Elias Bachaalany. Source: manual source (zip) · original page in the Sally repository