Windows脚本宿主

Windows脚本宿主Windows Scripting Host(WSH)

  虽说不是只有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实用讲座中分几讲详细介绍。

  2.组成

  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/)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值