我有一个批处理文件,它设置了4个不同的参数,并尝试为每个参数调用.vbs脚本。第一个调用工作正常,但第二个调用(以及之后的所有调用)抛出异常: VBScript运行时错误:下标超出范围
我已经尝试重命名脚本并将其复制,因此它是一个新脚本,但即使这样,第二次调用也会失败。
for /F %%a in ('dir ***** /B /S') do set fileName=%%~fa
for /F %%a in ('dir ****** /B /S') do set fileName2=%%~fa
goto : new
:new
set hostName=%1
set portNumber=%2
set majorVersion=%3
set instance=%4
call ******.vbs %hostName% %portNumber% %majorVersion% %fileName%%instance%
call ******.vbs %hostName% %portNumber% %majorVersion% %fileName4%%instance%
** 是脚本和文件所在的目录。
答案 0 :(得分:0)
给这个破解:
cscript /nologo ******.vbs %hostName% %portNumber% %majorVersion% %fileName%%instance%
cscript /nologo ******.vbs %hostName% %portNumber% %majorVersion% %fileName4%%instance%
您的路径\文件名可能还包含空格和有毒字符,这些字符看起来无法正确处理。你可能需要加倍引用它们。
"%fileName%%instance%"
"%fileName4%%instance%"
答案 1 :(得分:0)
cscript "Test.vbs" "param1-name" "param2-name" "param3-name"
或
cscript ******.vbs "%hostName%" "%portNumber%" "%majorVersion%" "%fileName%%instance%"
或
"Test.vbs" "param1-name" "param2-name" "param3-name"
如果您需要在脚本执行之间有一些延迟,请使用以下内容:
TIMEOUT /T 3
尝试你喜欢的方式。享受!