Windows 7如何使资源管理器使用vbs脚本打开文件

时间:2018-12-02 19:08:52

标签: java vbscript

我在没有管理员权限的Windows 7上运行openjdk

我经历了浏览器的“打开方式”对话框,选择java作为“打开” .jar文件的程序。 要通过(双击)运行.jar文件,Windows将执行

之类的操作
  

java(文件名).jar

但是,java需要参数-jar,即:

  

java -jar(文件名).jar

要进行此设置,用户需要管理员权限才能使用assoc和ftype,

或按照以下答案中的说明进行寄存器编辑。

另一种解决方法是使用批处理文件,例如javastart.bat:

列出javastart.jar

start java -jar %1

经过浏览器的“打开方式”对话框后,此方法有效。 单击jar文件将打开命令窗口,这将启动Java。

但是,在运行Java的同时,命令窗口也已打开,这很丑。

修改

必须调用javaw.exe,命令窗口将关闭:

start javaw.exe -jar %1

以下脚本无需关闭命令窗口

编辑结束

要解决此问题,请启动一个vbs脚本。

新上市的javastart.jar

start startjar.vbs %1

然后启动jar.vbs:

Set args = Wscript.Arguments
cmd = "java -jar " & chr(34) & args(0) & chr(34)
Set WshShell = CreateObject("WScript.Shell")
CreateObject("Wscript.Shell").Run cmd, 0, True

这有效:现在我简短地看到了启动vb的命令窗口,然后无窗口的vbs脚本启动了Java和jar文件。

但是,当我使用startjar.vbs直接打开jar文件时(右键单击jar文件,而不是通过对话框进行打开),jar文件的名称不会作为参数传递给vbs,而是Windows尝试直接运行jar文件(并给出错误:“。jar文件不是有效的win32应用程序”)。

为什么Windows资源管理器不将文件名作为参数发送给vbs脚本?

1 个答案:

答案 0 :(得分:1)

HKCR下的设置来自HKCU \ Software \ Classes和HKLM \ Software \ Classes。您当然可以编辑HKCU设置,因为它们就是您的设置。如果存在,它们将覆盖完全相同的HKLM设置。在HKCR下,您将看到两个合并视图,其中CU覆盖了所有LM设置。

这开始于记事本的设置。 修复javaw.exe文件的路径

jar文件现在位于“新建”菜单上,可以通过Windows搜索进行搜索,被视为文本文件,因此可以在右键菜单上进行编辑,但可以将其作为程序文件打开。

如果您不是管理员,请使用reg命令进行合并(在修复路径后)。如果您是管理员,请双击它。

main.js