代码之家  ›  专栏  ›  技术社区  ›  Justin Rusbatch

在单独的进程中运行多个JScript文件

  •  0
  • Justin Rusbatch  · 技术社区  · 15 年前

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

    序列化 :

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

    第二个脚本.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.js 跑步时 第二个脚本.js 在单独的过程中?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Gyuri    15 年前

    可以使用serializable.js和secondary脚本生成不同的wsf,并使用exec从第一个wsf文件运行它。

    还可以尝试使用事件在使用wscript对象的脚本之间通信变量,或者使用wshremote对象(本地)获取脚本状态。

    事实上,这似乎与你所解释的最吻合: Running Scripts Remotely 在MSDN上。同样,您可以在本地执行此操作以实现您的目标。