Какую команду следует использовать для запуска файла JAR из контекстного меню с помощью реестра Windows? - PullRequest
0 голосов
/ 08 декабря 2018

В настоящее время я пытаюсь запустить файл JAR правой кнопкой мыши на фоне папки.

Я обнаружил запуск контекстного меню (не могу вспомнить, где, но по существу добавлю к HKEY_CLASSES_ROOT/Directory/Background/shell в качестве нового ключа, а затем добавлю в него командный ключ с действием, которое нужно выполнить при нажатии).

И расположение элемента% 1 для этого похожего вопроса о суперпользователе: https://superuser.com/questions/444726/windows-how-to-add-batch-script-action-to-right-click-menu

Но я застрял в коде для действия по запуску программы и передаче ей каталога.

Моя последняя попытка заключается в следующем: java -jar "fullpath\program.jar" "%1"

java -jar для его запуска, путь к расположению,% 1, мы надеемся, передать путь к каталогу.

Я пробовалкуча вариантов этого тоже, но не могу заставить его работать.Любые идеи?

РЕДАКТИРОВАТЬ: Что я сделал в конце.

Я создал файл bat и написал в нем:

start javaw "%~dp0/program.jar" "%cd%"

Это запускает файл Java и отправляетэто рабочий каталог пользователей.start javaw используется вместо java, чтобы закрыть командную строку после запуска Java-программы.%~dp0 возвращает каталог файла bat.

1 Ответ

0 голосов
/ 08 декабря 2018

Часть "%1" не будет работать с фоном каталога, но программа запускается, имея этот каталог в качестве рабочего каталога.(Windows 7 выдает ошибку, если в команде указано «% 1».)

Используйте

System.getProperty("user.dir");

, чтобы получить ее.

Если вы не можете изменить код, напишите * wrapper *, который получает этот каталог и вызывает метод main исходного класса, передавая этот каталог в качестве аргумента (или напишите сценарий оболочки для этого ивызывает Java с аргументом)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...