2009-11-04 42 views
0

我正在寻找一种方法,可以在与我的主脚本不同的进程中启动多个脚本,但可以通过这种方式访问​​我声明的变量的副本。请看下面的例子:在单独的进程中运行多个JScript文件

Serializable.js

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

SecondaryScript.wsf

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

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

MainScript.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> 

有没有一种方法可以在SecondaryScript.js中为中的代码定义Serializable,而在单独的过程中运行SecondaryScript.js

回答

1

您可以使用Serializable.js和SecondaryScript包含其他wsf,并使用exec从第一个wsf文件运行该脚本。

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

事实上,这似乎符合你最好的解释: Running Scripts Remotely MSDN上。再次,您可以在本地执行此操作来实现您的目标。

相关问题