0

我正在寻找一种在与我的主脚本不同的进程中启动多个脚本的方法,但是它们可以访问我声明的变量的副本。考虑以下示例:

可序列化的.js

// Represents serializable data.
function Serializable() { /* ... */ }

SecondaryScript.wsf

// Serializable is not defined here!
FakeMoney.prototype = new Serializable();

function FakeMoney(amount) { /* ... */ }

主脚本.wsf

<job>
    <script language="JScript" src="Serializable.js"></script>
    <script language="JScript">
        var WshShell = new ActiveXObject("WScript.Shell");

        // `Serializable` is defined here...

        var oExec = WshShell.Exec("cscript SecondaryScript.js");

        WScript.Echo(oExec.Status);
    </script>
</job>

有没有办法在单独的进程中运行时定义Serializable代码?SecondaryScript.jsSecondaryScript.js

4

1 回答 1

1

您可以创建一个包含 Serializable.js 和 SecondaryScript 的不同 wsf,并使用 exec 从第一个 wsf 文件运行它。

您还可以尝试使用事件在使用 WScript 对象或 WshRemote 对象(本地)的脚本之间传递变量以获取脚本状态。

事实上,这似乎最符合您所解释的内容: 在 MSDN 上远程运行脚本。同样,您可以在本地执行此操作以实现您的目标。

于 2009-11-24T15:48:59.153 回答