
Мой конкретный случай заключается в том, что я использую Oracle VirtualBox и хочу иметь возможность щелкнуть правой кнопкой мыши по файлу .vdi и получить в списке опцию «Сжать» (рядом с такими опциями, как «удалить», «отправить по почте», «отправить в zip», «открыть с помощью» и т. д.).
Мне не нужна помощь в том, как сжать файл .vdi. Я знаю команду оболочки, которая это делает. Но я хочу иметь возможность делать это без ввода команд и использовать вместо этого контекстное меню.
Я обыскал весь Интернет и нашел огромное количество неполной, устаревшей или противоречивой информации, и я просто растерялся.
решение1
Этотименно то, что вы ищете.
Добавление новой команды в контекстное меню определенного типа файла:
Прохождение:
- Откройте
regedit
и перейдите вHKEY_CLASSES_ROOT\.vdi
. - Проверьте значение
.vdi
((Default)
), назовем егоvdi-val
. - Перейдите к
HKEY_CLASSES_ROOT\vdi-val\shell
. - Создайте новый ключ с именем по вашему выбору, это строка, которую вы увидите в контекстном меню. Давайте назовем его
Compact vdi
. - В разделе
Compact vdi
создайте еще один ключ с именемcommand
.- Теперь вы на верном пути
HKEY_CLASSES_ROOT\vdi-val\shell\Compact vdi\command
.
- Теперь вы на верном пути
- Установите в качестве параметра значение по умолчанию для местоположения вашей программы
%1
— это путь к файлу.- Например,
C:\dev\compact_vdi.exe %1
- Например,
Дополнительный:
- Если вы хотите, чтобы эта опция отображалась только при удержании
Shift
- Если вы хотите применить это ко всем файлам - поставьте
Command Title\command
свойHKEY_CLASSES_ROOT\*\shell
Подробнее в источнике:
- Добавить пункт контекстного меню в контекстное меню рабочего стола.
- Добавить в меню папок
- Создание
.reg
файла для внесения изменений.