带有长参数的run命令的vbscript错误

时间:2016-02-19 10:49:16

标签: vbscript

我需要在vbs上执行脚本

使用此脚本运行program.exe我没有问题

objShell.Run("%SystemDrive%\temp\program.exe")

然而,该程序可以支持静默安装的争论

我在cmd上手动运行以下命令

%SystemDrive%\temp\program.exe /s /v"MS=1.1.1.1 SF= %SystemDrive%\temp\cert.ssl -l*v+! %temp%\install.log IP=False CFG="CFG_GRP" ICG="ICG_GRP" REBOOT=Force /qn""

所以我把这个命令放在脚本上但得到异常错误')'

objShell.Run("%SystemDrive%\temp\program.exe /s /v"MS=1.1.1.1 SF= %SystemDrive%\temp\cert.ssl -l*v+! %temp%\install.log IP=False CFG="CFG_GRP" ICG="ICG_GRP" REBOOT=Force /qn""")

任何想法?

1 个答案:

答案 0 :(得分:0)

试试这个

Command = "cmd /c %SystemDrive%\temp\program.exe /s /v""MS=1.1.1.1 SF= %SystemDrive%\temp\cert.ssl -l*v+! %temp%\install.log IP=False CFG=""CFG_GRP"" ICG=""ICG_GRP"" REBOOT=Force /qn"""""
objShell.Run Command

objShell.Run "cmd /c %SystemDrive%\temp\program.exe /s /v""MS=1.1.1.1 SF= %SystemDrive%\temp\cert.ssl -l*v+! %temp%\install.log IP=False CFG=""CFG_GRP"" ICG=""ICG_GRP"" REBOOT=Force /qn"""""

无论哪种方式都可以解决问题,就是错误形成的字符串。

因为引号"表示在字符串中使用时字符串的开头和结尾,所以必须通过将它们加倍""来对其进行转义,否则VBScript会认为它的结尾是字符串并抛出语法错误。