在Runtime.exec()中最多可以传递多少个参数?

时间:2019-07-09 13:57:26

标签: java vbscript arguments parameter-passing runtime.exec

我正在尝试将大量参数传递给Runtime.().exec

Runtime.getRuntime().exec(new String[] { executable, script, fnamePath, blah, blah, .... });

添加第12个参数后的脚本说:

  

错误:下标超出范围
  代码:800A0009

您能否让我知道传递大量论证的最佳方法是什么?或者,请更正我的方法以实现传递质量参数。

请让我知道是否需要更多详细信息...

VBS代码:

Set objOutlook = CreateObject("Outlook.Application")
'Set objNameSpace = objOutlook.GetNamespace("MAPI")
Set myMail = objOutlook.CreateItem(0)
Set Arg = WScript.Arguments
myMail.Attachments.Add Arg(0) 'Just to let you know I'm using the Arg(0) as well
IMED = Arg(1)
URL = Arg(2)
dashLoad = Arg(3)
roles = Arg(4)
consent = Arg(5)
dash = Arg(6)
servMenu = Arg(7)
folowUp = Arg(8)
servReq = Arg(9)
SRN = Arg(10)
PoP = Arg(11)
Doc = Arg(12)
SalesDashLoad = Arg(13)
MsgBox (SalesDashLoad) ' THIS LINE gives me error, till Agr(12) works fine!

在Java中在VBS之上执行: Runtime Method in Java

结果错误消息:

VBS Error

2 个答案:

答案 0 :(得分:1)

传递的参数没有限制,但这不是问题。

您需要记住,对canvas.drawArc(Rect.fromCircle(center: center, radius: radius), startRadian, radians[i], true, paint);的Java调用首先是触发VBScript托管可执行文件(可能是Runtime.getRuntime().exec()cscript.exe,并传递脚本要执行的文件路径,它将在您发送到wscript.exe的命令数组中占用两个参数。

exec()executable命令数组参数之后的屏幕快照中,我仅看到传递了13个参数,但是VBScript期望14个script对象集合使用零,索引)

@Yuanyo mentions above中,您正在传递的参数列表中缺少WshArguments,这使其成为第14个参数,它将在VBScript中将其映射到SalesDashload

正确的输入将是类似的东西(很明显,我不知道您的变量名只能根据您现有的变量进行猜测或推断)

Arg(13)

您可能已经在VBScript中捕获了这一点,方法是在继续执行脚本之前使用Runtime.getRuntime().exec(new String[] {executable, script, fnamePath, loginScr1, stLink1, dashLoad1, role1, consent1, dash1, servMenu1, followUp1, servReq1, SRN1, PoP1, docSubmit1, salesDashLoad1 }); 检查是否具有14个参数,如果不执行或退出脚本,则可能使用throwing an error

Arg.Count

答案 1 :(得分:0)

问题似乎是您使用的索引。您缺少SalesDashLoad的参数。

您应该具有以下内容: Runtime.getRuntime().exec(new String[] {executable, script, fnamePath, loginScr1, stLink1, dashLoad1, role1, consent1, servMenu1, followUp1, servReq1, SRN1, PoP1, docSubmit1, salesDLoad1});

  

Arguments属性包含WshArguments对象(参数的集合)。使用从零开始的索引从此集合中检索单个参数。

您可以在此处了解更多信息: https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/windows-scripting/z2b05k8s(v=vs.84)