我正在寻找一种方法来在与我的主脚本分开的进程中启动多个脚本,但是这样他们可以访问我声明的变量的副本。请考虑以下示例:
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>
在单独的流程中运行Serializable
时,有没有办法为SecondaryScript.js
中的代码定义SecondaryScript.js
?
答案 0 :(得分:1)
您可以使用Serializable.js和SecondaryScript创建不同的wsf,并使用exec从第一个wsf文件运行它。
您还可以尝试使用事件在脚本之间使用WScript对象传递变量,或者使用WshRemote对象(本地)来获取脚本状态。
事实上,这似乎与您所解释的最佳匹配: MSDN上的Running Scripts Remotely。同样,您可以在本地执行此操作以实现目标。