我应该使用什么命令从使用Windows注册表的上下文菜单中启动jar文件?

时间:2018-12-08 06:38:03

标签: java command registry contextmenu

我目前正在尝试通过右键单击文件夹背景来启动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文件并将其发送给用户工作目录。启动Java程序后,使用start javaw而非仅使用java来关闭命令行。 %~dp0获取bat文件的目录。

1 个答案:

答案 0 :(得分:1)

"%1"部分在目录背景下无法使用,但是程序开始使用该目录作为工作目录。 (如果命令中包含“%1”,Windows 7将给出错误。)

使用

System.getProperty("user.dir");

得到它。

如果您无法更改代码,则编写一个*包装器*来获取该目录,并调用该类作为参数传递原始类的main方法(或编写一个Shell脚本来执行该操作并调用java(带有参数)