0

我有一个批处理文件,它设置了 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%

其中**是目录,脚本和文件所在的位置。

4

2 回答 2

0

试一试:

cscript /nologo ******.vbs %hostName% %portNumber% %majorVersion% %fileName%%instance% 
cscript /nologo ******.vbs %hostName% %portNumber% %majorVersion% %fileName4%%instance%

您的路径\文件名还可能包含空格和毒字符,看起来处理不正确。您可能需要双引号。

"%fileName%%instance%"
"%fileName4%%instance%"
于 2013-09-17T16:06:08.893 回答
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 

尝试你喜欢的方式。享受吧!

于 2013-09-19T09:32:18.023 回答