0

我有两个 vbscript 文件,file1.vbs 和 file2.vbs 在 a.vbs 中,我有以下代码:

暗淡 a : a = 1

function myFunction(k)
...
end function

call myFunction(a)

所以 file1.vbs 实际上可以独立运行。现在在file2.vbs 中,我想调用位于file1.vbs 中的myFunction(k)。但是,当我在file2.vbs中导入file1.vbs时,调用的myFunction也被导入,导致myFunction自动运行参数“a”......这不是我想要的,因为我可能会给myFunction一个不同的参数,说“b”。

我应该如何构建程序以使 file1.vbs 可以独立运行,而 file2.vbs 也可以在 file1.vbs 中调用 myFunction 但输入参数不同?谢谢。

4

1 回答 1

3

在我看来,最好的方法是让库/模块.vbs文件只包含可重用的子/函数/类,但不包含顶级(立即执行)代码。用户文件通过ExecuteGlobal.vbs导入库,如Microsoft TechNet 帖子所示。.ReadAll()

(另请参阅具有类似功能但也可以定义具有本地范围的对象和变量的Execute 。)

如果您坚持混合模块和顶级代码,您可以使用 Pythonic 习语并将当前WScript.ScriptName与字符串文字进行比较,并仅在它们匹配时调用适当的“顶级代码”。

于 2012-08-24T11:08:23.593 回答