vbs,如何在当前代码中添加一些代码?

时间:2011-11-08 10:08:09

标签: file vbscript add

我想在脚本中执行代码,知道我想要执行的代码路径的路径(它的.vbs文件)。我不知道我应该使用Eval还是有另一种方式?

2 个答案:

答案 0 :(得分:1)

如果你的第二个.vbs文件是一个完整的脚本,你的第一个.vbs应该执行'就像从命令行那样',那么就像Marco建议的那样使用.Run(或.Exec)。

如果你的第二个.vbs是一个包含函数/ subs / classes的模块,你想在你的第一个.vbs中使用它们,在第二个文件的.ReadAll()上执行一个Execute [Global]。

如果您可以/想要将第一个文件重新编码为.wsf,则可以使用带有src属性的脚本标记来“导入”您的模块。简约演示:

模块:

'' mod.vbs
Function SampleFunc()
  SampleFunc = "mod::SampleFunc()"
End Function

主档案:

<job>
 <script language="VBScript" src="mod.vbs" />
 <script language="VBScript">
  WScript.Echo WScript.ScriptName
  WScript.Echo SampleFunc()
 </script>
</job>

输出:

cscript main.wsf
main.wsf
mod::SampleFunc()

另一种策略是将模块代码放在.wsc文件中;它为您提供了一个COM组件,您可以通过CreateObject()注册和使用它,或者只是通过GetObject("script:<filespec>")加载。

答案 1 :(得分:0)

尝试使用:

Set WSHShell = CreateObject("WScript.Shell") 
WSHShell.Run "wscript " & strFileName, , True