在Javascript中运行命令Wscript.shell ActiveX

时间:2014-12-29 10:34:51

标签: javascript html activex

我有一个网页需要通过ActiveX运行带有一些参数的程序 我使用以下JavaScript来获取这些参数:

var var1 = getUrlParameter("par1", false);
var var2 = getUrlParameter("par2", false);
var var3 = getUrlParameter("par3", true);
var var4 = getUrlParameter("par4", true);

我正在创建一个新的ActiveX对象:

MyObject = new ActiveXObject("WScript.Shell")  

然后我需要运行一个命令,我已尝试过双引号和单引号的几个选项,但没有任何作用。有时程序根本没有启动,有时变量也没有通过。 我试过了:

MyObject.Run(""C:\\Path with\\some spaces\\program.exe" D:\\pathtoafile /PARAM:/para1="+var1+"\,/para2="+var2+"\,/para3="+var3+"\,/para4=\""+var4+"\"");
MyObject.Run('"C:\\Path with\\some spaces\\program.exe" D:\\pathtoafile /PARAM:/para1="+var1+"\,/para2="+var2+"\,/para3="+var3+"\,/para4=\""+var4+"\"');
MyObject.Run("'C:\\Path with\\some spaces\\program.exe' D:\\pathtoafile /PARAM:/para1="+var1+"\,/para2="+var2+"\,/para3="+var3+"\,/para4=\""+var4+"\"");

1 个答案:

答案 0 :(得分:1)

经过几个小时的尝试后才发现它!

MyObject.Run('"C:\\Path with\\some spaces\\program.exe"' + " " + "D:\\pathtoafile" + " " +  "/PARAM:/para1="+var1+"\,/para2="+var2+"\,/para3="+var3+"\,/para4=\""+var4+"\"");