Я задал вопрос:используйте переменную окружения, чтобы указать на программу "Открыть с помощью", которая получила фантастический ответ.
Чтобы добавить myapp.exe
, находящийся в %MYAPPSDIR%
, в контекстное меню "Открыть с помощью", я должен написать в CLI
reg add "HKCR\Applications\myapp.exe\shell\open\command" /ve /t REG_EXPAND_SZ /d "\"^%MYAPPSDIR^%\myapp\myapp.exe\" \"^%1\"" /f
Теперь я хочу получить файл .bat
, получающий параметр, который выполняет это предложение. Например, выполнение regadd.bat myapp.exe
сделает это. Какой должна быть строка в файле .bat
?
Очки:
- Как включить параметр,
- Как включить параметр с удаленным
.exe
(для части каталога), - Как избежать расширения
%1
которое идет в реестр (я не знаю, как избежать его надлежащим образом).
Я нашел много ресурсов (например, Как использовать `%` в командном файле), но я не хотел бы возиться с реестром. Моя ставка на 1 и 3 (все равно придется отработать 2):
reg add "HKCR\Applications\%1\shell\open\command" /ve /t REG_EXPAND_SZ /d "\"^%MYAPPSDIR^%\(%1 with .exe removed)\%1\" \"^%1\"" /f
Я также мог бы установить .bat
для запуска как regadd.bat myapp
. В этом случае строка будет
reg add "HKCR\Applications\%1.exe\shell\open\command" /ve /t REG_EXPAND_SZ /d "\"^%MYAPPSDIR^%\%1\%1.exe\" \"^%1\"" /f
Меня интересуют оба варианта.