2024年5月24日发(作者:)

1. 第1章 Windows Script Host简介

在Windows 98之前的Microsoft Windows版本几乎不提供自动化的协助,例如备份文件或执行

例行的系统管理工作。您当然可以在 MS-DOS模式 窗口中使用旧的MS-DOS批处理文件(BAT)来

完成某些工作,例如复制档案。但是批处理文件只能够执行一连串简单的MS-DOS指令(其缺点

包括了只有简单的条件分支和没有实际的循环功能等),并且也不支持对话盒和讯息盒。在

Windows 3.1里面,您可以透过Macro Recorder来记录并执行简单的击键和鼠标点按的动作,但他

无法用来撰写程序。

使用者为了寻求较有效率的方式来处理这些自动化的工作而找上了第三方所提供的解决方

案,例如PowerBatch或者像是Delphi、Microsoft Visual Basis和Visual C++这类的程序开发环境。但

是许多Windows的使用者很快地发现这些解决方案不合己意,因为他们既不简单易用也不是免费

的。

因为Microsoft Office提供VBA(Visual Basic for Applications),以及因为网站的作者们都知道

像是VBScript(Microsoft Visual Basic的描述语言版本)和网景的JavaScript这类的描述语言

(Scripting Language),所以在Microsoft为Windows操作系统提供Script程序设计工具之前,这只

不过是个时间早晚的问题罢了。而这个工具正是Microsoft的Windows Script Host(WSH),属于

Microsoft Windows Script技术的分支。

WSH是一种能够让您直接在操作系统层级执行Script档案的独立主机(Host)。举例来说,您

可以从命令行接口叫用Script或者在

档案总管

中双击Script。WSH对于许多需要很少或者根本不

需要接口的管理工作来说是相当便利的。他远比旧的MS-DOS批处理文件好用,因为JScript和

VBScript都是功能十分强大的描述语言,他们对于WSH对象和任何其他有效的自动化对象

(Automation Object)都有完整的存取功能。

说明

在第2版之前,「Windows Script Host」称为「Windows Scripting Host」。在本书中,将使用

WSH来泛指这两个版本。

您能够用WSH Script来做什么

您可以在许多方面使用Script来自定义您的Windows系统。这里有一些您能够使用Script来自

动化的工作:

 备份或复原您系统中的档案。(如果您只是需要从您的机器上储存一些档案到网络服务器中的话,这

种能力就显得特别方便。)

 藉由鼠标点按来关机或重新启动Windows。您也可以使用Script来新增特别的关机或开机工作,例如

在关闭应用程序后备份某些档案或是在开机完毕后记录用户的名称。(在Windows 95和Windows

98中这种透过Script来记录信息的能力尤其有用;而在Windows NT和Windows 2000中,许多这

类的功能都是内建的。)

 整合应用程序与其数据。举例来说,Script可以启动Office应用程序、加载并处理文件、打印、以及

关闭应用程序。以这种方式使用Script,您可以用任何您所选择的应用程序来「链接」文件。

 管理系统所管理的工作,比如说在Windows NT和Windows 2000中新增、更新或移除使用者的账

号。您可藉由使用利用到Windows NT和Windows 2000中所提供的主动式目录服务接口(Active

Directory Service Interface,ADSI)的WSH Script来自动化这些工作。

 透过适当的对象直接存取Windows的Shell以建立快捷方式(Shortcut)或者映像(Map)如磁盘驱

动器和打印机之类的网络装置。

 读取环境变量(Environment Variable)或是取得有关Windows的信息。

 启动程序并且控制自动化对象。

 显示通知用户关于程序的状态或者读取用户输入的对话盒。

 存取Windows的Shell和Windows的应用程序编程接口(Application Programming Interface,

API)来控制Windows和其他应用程序。

有关VBScript和JScript的补充说明

与Windows 98和Windows 2000一起发布(以及供Windows 95和Windows NT 4使用的可下载

版本)的WSH,都有内附VBScript和JScript这两种程序语言。VBScript使用和Visual Basic一样的

语法,他实际上就是Visual Basic的一个子集合。而JScript则是Microsoft根据ECMAScript标准

(ECMA为「欧洲计算机制造商协会」的缩写)实作的一种建构在JavaScript基础之上且与开发厂

商无关(Vendor-Independent)的程序语言。

这两种程序语言都是您进入Script程序设计世界中的必备品。但是,Microsoft为WSH设计了

一个开放的接口以便第三方能够整合他们自己的语言引擎(Language Engine)来支持其他的语言,

例如Perl、Tcl(Tool Control Language)、Rexx等。

升级到WSH 2

WSH 1首先是跟着Windows NT 4 Option Pack一起发布的。WSH同时也是Windows 98的一部

份,但是他并不会主动安装到您的机器上,您必须将其当作是附加的Windows组件来安装他。而