代码之家  ›  专栏  ›  技术社区  ›  harper

wsh 5.7的shell.run执行错误的脚本主机引擎?

  •  1
  • harper  · 技术社区  · 14 年前

    我使用一个wsc(一个用jscript编写并用scrobj.dll运行的COM服务器),它还使用shell.run(“theotherscript.js”)启动其他脚本文件。

    WSC服务器用新的ActiveXObject(ProgID)实例化。在wsh 5.6之前,我可以为shell设置执行引擎。

    wscript//h:cscript

    或者使用//h:wscript获取我需要的引擎。对于交互模式,我需要在wscript.echo上弹出消息框的wscript;对于禁止使用的非交互模式,因为它保留执行。

    在更新到wsh 5.7之后,thetherscript.js中的wsscript.echo始终会导致一个消息框,独立于我之前传递的//h:parameter。这将中断所有无人参与的脚本执行。

    我认为这是wsh 5.7中的一个bug,什么时候可以修复它,我如何构建一个变通方案?

    2 回复  |  直到 13 年前
        1
  •  0
  •   harper    14 年前

    您需要更改服务器以控制应该使用哪个脚本引擎。为了避免所有的客户机,最好的方法是定义一个环境变量来控制选择。

        2
  •  0
  •   Jérôme Verstrynge    13 年前
    shell.Run("cscript //E:??? TheOtherScript.js");
    

    在哪里? ??? 是您要使用的引擎。