Update 1: Исправлена проблема с использованием директории
Sysnative.
В
Total Commander существует такая удобная штука как панель инструментов или
Tool Bar. В простой конфигурации там присутствует только одна кнопка и команда на вроде такой:
Command: | %COMMANDER_PATH%\Sudo.exe |
Parameters: | cmd.exe /k cd /d %P |
Что не обеспечивает некоторые разграничения, а это:
- Запуск 32-битной консоли из Total Commander любой разрядности под текущим пользователем
- Запуск 64-битной консоли из Total Commander любой разрядности под текущим пользователем
- Запуск 32-битной консоли из Total Commander любой разрядности с повышением прав до Administrator
- Запуск 64-битной консоли из Total Commander любой разрядности с повышением прав до Administrator
К тому же оно требует отдельной утилиты для запуска из под администратора.
Существует другой способ добиться желаемого встроенными средствами ОС
Windows.
Нам потребуется:
- Создать директорию на диске, где будут лежать внешние файлы адресуемые из Total Commander.
- Создать специальную директорию `System64` в директории `%SystemRoot%` (только для Windows 64-бита).
- Создать ярлыки (shortcut) Windows для запуска любой команды в режиме администратора или скопировать уже имеющиеся.
- Создать 4 кнопки на панели инструментов в версии для Windows 64-бит или 2 кнопки в версии для Windows 32-бита.
1. Создать директорию на диске, где будут лежать внешние файлы адресуемые из Total Commander.
Чтобы наши файлы не зависели от версии
Total Commander, а также, от его расположения, следует создать независимую директорию. К примеру:
C:\Program Files\Total Commander Scripts
Здесь будут храниться скрипты, ярлыки и иконки для наших кнопок.
Если каталог C:\Program Files\Total Commander Scripts будет располагаться в другом месте, то следует далее везде подменить путь на тот который будет у вас.
2. Создать специальную директорию `System64` в директории `%SystemRoot%` (только для Windows 64-bit).
Update 1: Исправлена проблема с использованием директории
Sysnative.
Здесь и далее директория Sysnative была заменена на System64 чтобы исправить следующие проблемы:
- Выборочный доступ к директории Sysnative в зависимости от разрядности приложения, т.к. директория созданная операционной системой при инсталляции (начиная с Windows Vista) видна только для 32-разрядных приложений.
- Ошибка при запуске cmd.exe из файла ярлыка с флагом повышения прав до администратора, из директории Sysnative, 32-битным приложением Total Commander запущенным без прав администратора.
Для этого необходимо открыть 64-битную консоль в режиме администратора и ввести следующую команду:
>mklink /D "%SystemRoot%\System64" "%SystemRoot%\System32"
Это создаст директорию
`System64` видимую как из 32-битной консоли, так и из 64-битной, т.е. оригинальная версия директории
`%SystemRoot%\System32` станет доступна из консоли любой разрядности.
3. Создать ярлыки (shortcut) Windows для запуска любой команды в режиме администратора или скопировать уже имеющиеся.
Можно создать ярлыки вручную.
Для
Windows 32-бита:
- cmd.lnk
Путь к объекту: | %COMSPEC% |
Рабочая папка: | (пусто) |
- cmd_admin.lnk
Путь к объекту: | %COMSPEC% |
Рабочая папка: | (пусто) |
По кнопке Дополнительно... нужно выбрать пункт Запуск от имени Администратора.
Для
Windows 64-бита:
- cmd_system64.lnk
Путь к объекту: | %SystemRoot%\System64\cmd.exe |
Рабочая папка: | (пусто) |
- cmd_system64_admin.lnk
Путь к объекту: | %SystemRoot%\System64\cmd.exe |
Рабочая папка: | (пусто) |
По кнопке Дополнительно... нужно выбрать пункт Запуск от имени Администратора.
- cmd_wow64.lnk
Путь к объекту: | %SYSTEMROOT%\SysWOW64\cmd.exe |
Рабочая папка: | (пусто) |
- cmd_wow64_admin.lnk
Путь к объекту: | %SYSTEMROOT%\SysWOW64\cmd.exe |
Рабочая папка: | (пусто) |
По кнопке Дополнительно... нужно выбрать пункт Запуск от имени Администратора.
Либо, скопировать в директорию аналогичные файлы отсюда:
https://sourceforge.net/p/contools/contools/HEAD/tree/trunk/Scripts/Tools/ToolAdaptors/lnk/.
Это обычные ярлыки
Windows, которые позволяют запускать командный интерпретатор
Windows cmd.exe с любыми параметрами-ключами командной строки. Достаточно просто выполнить ярлык в командной строке и передать нужный параметр:
>cmd_admin.lnk /c "echo 123&pause"
4. Создать 4 кнопки на панели инструментов в версии для Windows 64-бит или 2 кнопки в версии для Windows 32-бита.
Для этого в специальном диалогом окне
Total Commander ввести следующие параметры для создания кнопки.
Для
Windows 32-бита:
- Запуск от текущего пользователя.
Command: | cmd.lnk |
Parameters: | /K set "PWD=%P"&call cd /d "%%PWD%%"&title %%COMSPEC%% |
Start path: | C:\Program Files\Total Commander Scripts\ |
Icon file: | C:\Program Files\Total Commander Scripts\images\cmd32.ico |
Icon: | 0 |
Tooltip: | cmd 32-bit |
- Запуск от имени администратора.
Command: | cmd_admin.lnk |
Parameters: | /K set "PWD=%P"&call cd /d "%%PWD%%"&title %%COMSPEC%% |
Start path: | C:\Program Files\Total Commander Scripts\ |
Icon file: | C:\Program Files\Total Commander Scripts\images\cmd32_admin.ico |
Icon: | 0 |
Tooltip: | cmd 32-bit as admin |
Для
Windows 64-бита:
- Запуск 64-битной консоли от текущего пользователя.
Command: | cmd_system64.lnk |
Parameters: | /K set "PWD=%P"&call cd /d "%%PWD%%"&title %%COMSPEC%% |
Start path: | C:\Program Files\Total Commander Scripts\ |
Icon file: | C:\Program Files\Total Commander Scripts\images\cmd64.ico |
Icon: | 0 |
Tooltip: | cmd 64-bit |
- Запуск 64-битной консоли от имени администратора.
Command: | cmd_system64_admin.lnk |
Parameters: | /K set "PWD=%P"&call cd /d "%%PWD%%"&title %%COMSPEC%% |
Start path: | C:\Program Files\Total Commander Scripts\ |
Icon file: | C:\Program Files\Total Commander Scripts\images\cmd64_admin.ico |
Icon: | 0 |
Tooltip: | cmd 64-bit as admin |
- Запуск 32-битной консоли от текущего пользователя.
Command: | cmd_wow64.lnk |
Parameters: | /K set "PWD=%P"&call cd /d "%%PWD%%"&title %%COMSPEC%% |
Start path: | C:\Program Files\Total Commander Scripts\ |
Icon file: | C:\Program Files\Total Commander Scripts\images\cmd32.ico |
Icon: | 0 |
Tooltip: | cmd 32-bit |
- Запуск 32-битной консоли от имени администратора.
Command: | cmd_wow64_admin.lnk |
Parameters: | /K set "PWD=%P"&call cd /d "%%PWD%%"&title %%COMSPEC%% |
Start path: | C:\Program Files\Total Commander Scripts\ |
Icon file: | C:\Program Files\Total Commander Scripts\images\cmd32_admin.ico |
Icon: | 0 |
Tooltip: | cmd 32-bit as admin |
Соответствующие файлы иконок можно скачать отсюда:
https://sourceforge.net/p/contools/contools/HEAD/tree/trunk/Scripts/Tools/ToolAdaptors/totalcmd/images/.
В результате должны получиться следующие кнопки:
Для
Windows 32-бита:

Для
Windows 64-бита:

Если у вас нет хватает места на панели кнопок, то можно объединить несколько кнопок в одну средствами
Total Commander:
- Выполнить одно из следующих действий:
- Напротив поля ввода Команда: (Command:) нажать кнопку Изменить >> (Change >>) и выбрать Добавить панель... (Add Subbar...). Выбрать расположение файла панели кнопок и нажать на кнопку Открыть (Open). Если файл не существовал, то он будет создан. Далее откроется диалог в котором можно будет отредактировать кнопки в выпадающем меню.
- Ввести путь в поле ввода Команда: (Command:), где располагается файл с расширением .bar.
- Начать вводить в поле ввода Команда: (Command:) команду OPENBAR и через пробел путь, где располагается файл с расширением .bar.
- После выполнения одного из пунктов выше появиться опция выбора показывать кнопки в стиле меню: [x] в виде меню ([x] Show as menu):
