【问题标题】:Java as Windows service using visual basic script and batch使用 Visual Basic 脚本和批处理的 Java 作为 Windows 服务
【发布时间】:2020-09-30 23:50:00
【问题描述】:

我正在尝试使用位于启动文件夹中的 Visual Basic 脚本来初始化 Java 服务。此 vbs 脚本调用一个批处理文件,该文件与我要初始化的 jar 位于同一文件夹中。批处理调用带有属性参数的 jar 并且它工作正常但是当我从 vbs 调用批处理文件时会跳转一个错误:

我猜这是一个安全问题,但我不知道如何解决它。

  • vbs 的文件夹是:C:\Users\user\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
  • 内容vbs:
CreateObject("Wscript.Shell").Run """C:\Program Files\Res\run_res.bat""", 0, True
  • 批处理和jar的文件夹是:C:\Program Files\Res\
  • 内容批处理:
javaw -jar dpc.jar

【问题讨论】:

  • 我真的不明白为什么要使用由 Windows 脚本宿主解释的 Visual Basic 脚本运行由 Windows 命令处理器解释的批处理文件来运行可执行文件javaw.exe。为什么不在%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup 中为属性Target 创建一个已在Properties 中配置的快捷方式(扩展名为.lnk 的文件)(右键单击创建的快捷方式以查看该上下文菜单项) "C:\Full Path to\javaw.exe" -jar dpc.jar 和属性 Start in 包含文件 dpc.jar? 的目录的完整路径
  • Windows 将直接在 %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup 中使用这样的快捷方式运行 Java,而无需首先运行 Windows Script Host 的 wscript.exe(Windows GUI 版本)或 cscript.exe(Windows 控制台版本),具体取决于当前的内容配置为默认运行cmd.exe 运行javaw.exe。看起来您之所以选择此解决方案,是因为不知道任何可执行文件都可以通过 Windows 桌面上的快捷方式直接启动,或者在 Windows 开始菜单中的某个位置或您要创建和使用 Windows 快捷方式文件的任何位置。跨度>
  • 我没有想过这个解决方案,但它肯定比我的好。我会按照你的方式实施。谢谢。

标签: windows batch-file vbscript permissions jvm


【解决方案1】:

由于我是从另一个文件夹运行 vbs,我需要在批处理中指定 jar 的整个绝对路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-25
    • 2014-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多