Update 1: Исправлена проблема с использованием директории Sysnative.
В Total Commander существует такая удобная штука как панель инструментов или Tool Bar. В простой конфигурации там присутствует только одна кнопка и команда на вроде такой:
Command:%COMMANDER_PATH%\Sudo.exe
Parameters:cmd.exe /k cd /d %P
Что не обеспечивает некоторые разграничения, а это:
  1. Запуск 32-битной консоли из Total Commander любой разрядности под текущим пользователем
  2. Запуск 64-битной консоли из Total Commander любой разрядности под текущим пользователем
  3. Запуск 32-битной консоли из Total Commander любой разрядности с повышением прав до Administrator
  4. Запуск 64-битной консоли из Total Commander любой разрядности с повышением прав до Administrator
К тому же оно требует отдельной утилиты для запуска из под администратора. Существует другой способ добиться желаемого встроенными средствами ОС Windows. Нам потребуется:
  1. Создать директорию на диске, где будут лежать внешние файлы адресуемые из Total Commander.
  2. Создать специальную директорию `System64` в директории `%SystemRoot%` (только для Windows 64-бита).
  3. Создать ярлыки (shortcut) Windows для запуска любой команды в режиме администратора или скопировать уже имеющиеся.
  4. Создать 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 чтобы исправить следующие проблемы:
  1. Выборочный доступ к директории Sysnative в зависимости от разрядности приложения, т.к. директория созданная операционной системой при инсталляции (начиная с Windows Vista) видна только для 32-разрядных приложений.
  2. Ошибка при запуске cmd.exe из файла ярлыка с флагом повышения прав до администратора, из директории Sysnative, 32-битным приложением Total Commander запущенным без прав администратора.
Для этого необходимо открыть 64-битную консоль в режиме администратора и ввести следующую команду:
>mklink /D "%SystemRoot%\System64" "%SystemRoot%\System32"
Это создаст директорию `System64` видимую как из 32-битной консоли, так и из 64-битной, т.е. оригинальная версия директории `%SystemRoot%\System32` станет доступна из консоли любой разрядности.

3. Создать ярлыки (shortcut) Windows для запуска любой команды в режиме администратора или скопировать уже имеющиеся.

Можно создать ярлыки вручную. Для Windows 32-бита:
  1. cmd.lnk
  2. Путь к объекту:%COMSPEC%
    Рабочая папка: (пусто)
  3. cmd_admin.lnk
  4. Путь к объекту:%COMSPEC%
    Рабочая папка: (пусто)
    По кнопке Дополнительно... нужно выбрать пункт Запуск от имени Администратора.
Для Windows 64-бита:
  1. cmd_system64.lnk
  2. Путь к объекту:%SystemRoot%\System64\cmd.exe
    Рабочая папка: (пусто)
  3. cmd_system64_admin.lnk
  4. Путь к объекту:%SystemRoot%\System64\cmd.exe
    Рабочая папка: (пусто)
    По кнопке Дополнительно... нужно выбрать пункт Запуск от имени Администратора.
  5. cmd_wow64.lnk
  6. Путь к объекту:%SYSTEMROOT%\SysWOW64\cmd.exe
    Рабочая папка: (пусто)
  7. cmd_wow64_admin.lnk
  8. Путь к объекту:%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-бита:
  1. Запуск от текущего пользователя.
  2. 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
  3. Запуск от имени администратора.
  4. 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-бита:
  1. Запуск 64-битной консоли от текущего пользователя.
  2. 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
  3. Запуск 64-битной консоли от имени администратора.
  4. 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
  5. Запуск 32-битной консоли от текущего пользователя.
  6. 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
  7. Запуск 32-битной консоли от имени администратора.
  8. 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 32-бита
Для Windows 64-бита:
Кнопки для Windows 64-бита
Если у вас нет хватает места на панели кнопок, то можно объединить несколько кнопок в одну средствами Total Commander:
  • Выполнить одно из следующих действий:
    • Напротив поля ввода Команда: (Command:) нажать кнопку Изменить >> (Change >>) и выбрать Добавить панель... (Add Subbar...). Выбрать расположение файла панели кнопок и нажать на кнопку Открыть (Open). Если файл не существовал, то он будет создан. Далее откроется диалог в котором можно будет отредактировать кнопки в выпадающем меню.
    • Ввести путь в поле ввода Команда: (Command:), где располагается файл с расширением .bar.
    • Начать вводить в поле ввода Команда: (Command:) команду OPENBAR и через пробел путь, где располагается файл с расширением .bar.
  • После выполнения одного из пунктов выше появиться опция выбора показывать кнопки в стиле меню: [x] в виде меню ([x] Show as menu):
    Кнопки для Windows 64-бита

Leave a Comment

Your email address will not be published. Required fields are marked *