Windows脚本宿主(Windows Scripting Host,WSH)是
微软脚本技术系列中的一种,简单讲,就是提供了一种脚本环境,在这个环境中,预定义了一些对象,同时也可以使用COM里的其他对象。他使用一种
脚本引擎来对脚本
解释执行,
微软自己支持VBSCRIPT和JSCRIPT,第三方也可以开发自己的脚本引擎。
简介
虽说不是只有NT5才有WSH,但NT5(WINDOWS2000)一定有WSH的。实际上,你在WIN98+PWS里,或者NT4+IIS4里,你就能找到WSH。
WSH是
微软脚本技术系列中的一种,简单讲,就是提供了一种脚本环境,在这个环境中,预定义了一些对象,同时也可以使用COM里的其他对象。他使用一种
脚本引擎来对脚本
解释执行,
微软自己支持VBSCRIPT和JSCRIPT,第三方也可以开发自己的脚本引擎。
具体点,就是你先编好一些
脚本文件(
微软自带例子若干,后缀.vbs或 .js),然后用一个程序对他
解释执行,这个程序就叫Windows Scripting Host,程序的名字是Wscript.exe(或者命令行的Cscript.exe),你可以查看一下你的机器里有没有这两个文件,就知道有没有WSH了。这非常像
批处理文件,只不过文件里不是命令行,而是脚本语言写的脚本。同时,他完成的功能也非常像
批处理文件,只不过多了些控制。
我主要用WSH来完成一些繁琐的、通常需要我反复操作才能完成的任务,比如给大量目录设置ACL,或者创建大量的目录等等。虽然这也可以编写VB或VC程序来实现,不过比起脚本来,实在麻烦,至少需要那么大的环境,而脚本只要一个
写字板就成。用WSH技术来配置服务器,包括创建用户,创建邮箱,创建目录,创建站点,设置ACL,设置FrontPage ServerExtention,我将在WSH实用讲座中分几讲详细介绍。
组成
WSH自带的几个内置对象包括:
1.由 Wscript.exe 提供的对象
Wscript 作为 Wscript 公开给
脚本引擎。
WshArguments 未公开;通过 Wscript.Arguments 属性访问。
2.由 WSHom.Ocx 提供的对象。
WshShell 自动对象。
ProgID 是 Wscript.WshShell。
WshNetwork 自动对象。ProgID 是 Wscript.WshNetwork。
WshShortcut 未公开;通过 WshShell.CreateShortcut 方法访问。
WshUrlShortcut 未公开;通过 WshShell.CreateShortcut 方法访问。
WshCollection 未公开;通过 WshNetwork.EnumNetworkDrives 或 WshNetwork.EnumPrinterConnection 方法访问。
WshEnvironment 未公开;通过 WshShell.Environment 属性访问。
WshSpecialFolders 未公开;通过 WshShell.Folder 属性访问。
他们主要可以完成
环境变量的获取,网络登陆,驱动器映射,快截方式创建,程序加载,特殊文件夹(如
系统文件夹)信息获取等功能。
如果你的系统里支持ADO等COM部件,你同样可以使用。
Windows 脚本宿主概述通过在 Windows
桌面上单击
脚本文件,或者在
命令提示符下键入脚本文件名称,可以使用 Windows 脚本宿主来
运行脚本。与 Microsoft Internet Explorer 类似,Windows 脚本宿主充当了兼容 Windows 脚本的
脚本引擎的控制器。但是,与 Internet Explorer 不同,Windows 脚本宿主只需要很少的内存,所以非常适合于交互和非交互的脚本,如登录脚本和管理脚本。
Windows 脚本宿主有两个版本:基于 Windows 的版本 (Wscript.exe),它提供用于设置脚本属性的属性单;另一个是基于
命令提示符的版本 (Cscript.exe),它提供用于设置脚本属性的命令行开关。通过在
命令提示符下键入 Wscript.exe 或 Cscript.exe 可以运行其中某一个。
以前,受 Windows
操作系统支持的唯一专有脚本化语言是
MS-DOS 命令语言。尽管 MS-DOS 小而快,但是与 VBScript 和 JScript 相比功能有限。例如,控制程序流的能力没有内置在该语言中。今天,尽管仍然提供对 MS-DOS 命令脚本的支持,但 Windows 脚本宿主体系结构允许用户利用这些功能强大的
脚本语言。
Windows 脚本宿主支持用 Visual Basic Scripting Edition (VBScript) 或 JScript 编写的脚本。当从 Windows
桌面或者
命令提示符下启动脚本时,脚本宿主将读取指定的
脚本文件内容,并把它传送给已注册的
脚本引擎。
脚本引擎使用
文件扩展名(.vbs 用于 VBScript,而.js 用于 JScript)来识别脚本,而不是使用 SCRIPT 标记(用于 HTML)。由于这个原因,您不必熟悉
脚本引擎的准确的程序
标识符 (ProgID)。脚本宿主自己维护着脚本扩展名到 ProgID 的映射,并针对给定的脚本使用 Windows 关联模型来启动合适的引擎。
该版本的 WSH 添加了几处新功能
经过改进的参数处理
远程脚本处理
可以将一个脚本加载到随后可以同时运行的几个远程
计算机系统上。
运行中的进程是一个对象
可以查询衍生的进程、降级其事件、访问其标准 I/O 数据流并与其他进程共享其环境变量。
当前的工作目录
可以确定和修改活动进程的当前工作目录的路径。
脚本安全问题
详细信息,请参阅 Microsoft 网站中的 Windows 脚本技术网站 (http://www.microsoft.com/)。