如何通过带有多个参数的vbscript运行java程序



我想运行一个简单的java程序,使用VB脚本解析参数。

这是我的VBScript代码

Sub Button1_Click()
Set WshShell = CreateObject("WScript.Shell")
Dim jar
Dim location
Dim dictionary
Set dictionary = CreateObject("Scripting.Dictionary")
jar = "C:UsersDocumentsExP.jar"
location = "C:UsersDocumentsTestProject"
Set WshShellExec = WshShell.Exec("java -jar " & Chr(34) & jar & Chr(34) & location & Chr(34))
End Sub

这是我想要传递参数的java类

public static void main(String[] args) {
ReadTestScripts readTestScripts = new ReadTestScripts(args[3]);
//location  ="C:\Users\Documents\TestProject" - want to pass this path to java programme 
readTestScripts.showResult();
}

当我将位置作为VBScript参数传递时,我没有得到预期的输出

您正在连接要执行的命令,但在参数之间不留空格,因此,如果您调试了传递给Exec()的命令,它将看起来像;

java -jar "C:UsersDocumentsExP.jar""C:UsersDocumentsTestProject"

修复方法是在jarlocation之间添加一个凹入空间。

Sub Button1_Click()
Set WshShell = CreateObject("WScript.Shell")
Dim a
Dim location
Dim dictionary
Set dictionary = CreateObject("Scripting.Dictionary")
jar = "C:UsersDocumentsExP.jar"
location = "C:UsersDocumentsTestProject"
Set WshShellExec = WshShell.Exec("java -jar """ & jar & """ """ & location & """")
End Sub

这将产生命令

java -jar "C:UsersDocumentsExP.jar" "C:UsersDocumentsTestProject"

请注意,用正确的双引号转义方法替换Chr(34),即使它们加倍。


有用的链接

  • 启动路径包含空格的程序

最新更新