我使用 WSC(用 JScript 编写的 COM 服务器,并使用 scrobj.dll 运行),它还使用 shell.Run("TheOtherScript.js"); 启动其他脚本文件。
WSC 服务器使用新的 ActiveXObject(PROGID) 进行实例化。在 WSH 5.6 之前,我可以使用命令
设置 shell.Run 的执行引擎WScript//H:CScript
或使用//H:WScript 来获取我需要的引擎。对于交互模式,我需要在 WScript.Echo 上弹出消息框的 WScript;对于禁止的非交互模式,因为它保留执行。
更新到 WSH 5.7 后,TheOtherScript.js 中的 WScript.Echo 始终会导致 MessageBox,与我之前传递的//H: 参数无关。这会中断所有无人值守的脚本执行。
我认为这是 WSH 5.7 中的一个错误,什么时候可以修复它,我该如何构建解决方法?
最佳答案
您需要更改服务器来控制应使用哪个脚本引擎。避免所有客户端的最好方法是定义一个环境变量来控制选择。
关于javascript - WSH 5.7 的 shell.Run 执行错误的脚本主机引擎?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3307341/