【发布时间】: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