要简化脚本编写,可以将一个脚本分成多个部分。使用这种方法,将会创建一个 .wsf 文件并将其用作执行的起点。其他部分可以是 .js 或 .vbs 文件。将从 .wsf 文件中引用这些文件。
该方法使您的代码更为强健,因为它将代码的各个片段隔离开来,允许您一次调试一个片段。它还使您的代码能重复利用,因为它允许您创建可反复调用的函数。
Windows 脚本文件 (*.wsf) 是含有可扩展标记语言 (XML) 代码的文本文档。
.wsf 文件支持 |
实现 |
Include 语句 |
将函数从 VBScript 或 JScript 文件合并到 Windows 脚本宿主项目中。 <job id="IncludeExample"> <script language="JScript" src="FSO.JS"/> <script language="VBScript"> ' 获得驱动器 C 的可用空间。 s = GetFreeSpace("c:") WScript.Echo s <sScript> </job> |
多引擎 |
每个文件使用多种脚本语言。 <job id="PERLandVBS"> <script language="PerlScript"> sub PerlHello { my $str = @_[0]; $WScript->Echo($str); } </script> <script language="VBScript"> WScript.Echo "Hello from VBScript" PerlHello "Hello from PERLScript" </script> </job> |
类型库 |
将常数添加到代码中。 <job id="IncludeExample"> <reference object="MyComponent.MyClass"> <script language="VBScript"> Dim MyVar Set MyVar = CreateObject("MyComponent.MyClass") Currentreturn = MyVar.MyMethod If Currentreturn = False then WScript.Echo MyError End If </script> </job> |
工具 |
使用任何 XML 编辑器编辑文件。 |
一个文件中的多项作业 |
将所有的代码存储在一个位置。 该示例中的 "MyFirstJob" 是 MyScripts.wsf 文件中包含的作业名称。 CScript //Job:MyFirstJob MyScripts.wsf |
文件结构
<?xml version="1.0" ?> <package> <comment> Demo WSH </comment> <job id="ie"> <?job error="True" debug="True" ?> <runtime> <description>**</description> <named name="IP" helpstring="local or remote ip" type="string" required="true" /> <named name="U" helpstring="User Name" type="string" /> <example></example> </runtime> <script language="VBScript"><![CDATA[ ?-]]> </script> </job> <job id="office">?- </job> </package>
基本上的文件结构和以上类似,具体在“Microsoft Windows脚本技术.CHM”文档或者MSDN
ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/script56/html/vtoriMicrosoftWindowsScriptTechnologies.htm
中有描述。
文件关联和执行
选择一个.wsf文件右键可以看到看到其关联的是Wscript.exe,因此双击这样的文件时,就是以wscript.exe执行.wsf文件的
如果手动控制执行,有两个形式:
GUI形式:wscript.exe demo.wsf
Console形式:cscript.exe demo.wsf
[当前路径是demo.wsf的根路径]
在命令行下执行cscript 可以查看执行的参数,常用的有:
//Job:xxx : 执行某个作业
//X : 跟踪
跟踪调试
以demo.wsf为例,执行如下命令行
cscript.exe demo.wsf //Job:jsoffice //X
此时可以进入Script Debugger或者VS2008等开发工具中跟踪,初始定位在第一行,然后设置断点、查看变量等,如下图是进入VS2010的一个跟踪情况