Windows Scripting Host:脚本语言的通用脚本主机(全文)

 

摘要

Windows Scripting Host (WSH) 是一个用于 32 位 Windows 平台的独立于语言的脚本主机。Windows Scripting Host 将集成到 Microsoft® Windows® 操作系统的更新程序和新版本中。

引言

Windows Scripting Host (WSH) 是一个独立于语言的脚本主机,用于 32 位 Microsoft®Windows® 操作系统平台上。Microsoft 同时给 Visual Basic® Script 以及 Java Script 脚本引擎提供了 WSH。Microsoft 预计,其它软件公司将会给其它一些语言(如 Perl、TCL、REXX 以及 Python)提供 ActiveX® 脚本引擎。

WSH 可以从基于 Windows 的主机运行 (Wscript.exe),也可以从基于命令行解释器的主机运行 (Cscript.exe)。

本文将讲述:

  • WSH 的用途。
  • 如何安装 WSH。
  • 如何使用 WSH。

Windows Scripting Host 已集成到 Windows 98、Internet Information Server 4.0 版, Windows 2000 Server 以及 Windows 2000 Professional 中。它也可用于 Windows 95 操作系统。

Windows Scripting Host 的优点

Windows Scripting Host (WSH) 给 32 位 Windows 平台提供了使用简便、功能强大和变化灵活的脚本。

过去,Windows 操作系统支持的唯一正宗的脚本语言是 MS-DOS® 命令语言。尽管 MS-DOS 速度很快,且很小巧,但与 Visual Basic Script 和 Java Script 相比,其功能有限。现在,ActiveX 脚本体系结构可让用户能使用强大的诸如 Visual Basic Script 和 Java Script 之类的脚本语言,同时也支持 MS-DOS 命令脚本。

ActiveX 脚本体系结构允许使用诸如 VB Script、Java Script 及 Perl 等语言编写功能强大的脚本。Microsoft 现为在 Windows 平台上运行这些脚本语言提供三种主机:

  • Microsoft Internet Explorer
  • Internet Information Server (IIS)
  • Windows Scripting Host (WSH)

Internet Explorer 能使脚本在客户计算机上从 HTML 页内运行。

Internet Information Server 现支持 Active Server Page,它能使脚本在 Web 服务器上运行;换句话说,它在 Internet 或 Intranet 上启用服务器端脚本。

Windows Scripting Host 能使脚本直接在 Windows 桌面或命令控制台上执行,无须将脚本嵌入到 HTML 文档中。脚本可以直接从桌面(通过点击脚本文件)或命令控制台上运行。WSH 提供了一个内存消耗少的脚本主机,非常适合于非交互脚本,如登录脚本、管理脚本等等。

WSH 安装

要使用 Windows Scripting Host,必须安装 Microsoft Internet Explorer 3.0 版或更高版本。WSH 依赖与 Internet Explorer 3.0 或更高版本一起提供的 Visual Basic Script 和 Java Script 引擎。WSH 作为 Windows 98、Windows 2000 以及 Internet Information Server 4.0 的一部分安装的。在 Windows 95 中安装,则需要单独的安装程序。

要在基于 Windows 95 的系统上安装 WSH,如还未安装 Microsoft Internet Explorer 3.0 版或更高版本,则必须安装。如没有 Internet Explorer 3.0 或更高版本,请参见 Microsoft IE Web 页,网址是:http://www.microsoft.com/ie/ie.htm

从 Microsoft 下载站点下载 WSH 安装程序,网址是:http://www.microsoft.com/msdownload/vbscript/scripting.asp

使用基于命令的脚本主机运行脚本

Cscript.exe 使用以下语法:

cscript [host optionsU] [script name] [script options]

  • Host parameters(主机参数)启用或禁用各种 WSH 选项。主机参数前面有两条斜线 (//)。
  • script name(脚本名称)是脚本文件的名称;例如 CHART.VBS。
  • Script parameters(脚本参数)传递给脚本。脚本参数前面有一条斜线 (/)。

每个参数都是可选的;但是,不能指定脚本参数而不指定脚本。如果不指定参数,Cscript.exe 就会显示 Cscript.exe 语法,以及有效的主机参数。

Cscript.exe 支持以下主机参数:

参数说明
//R通过搜索注册的脚本引擎来注册脚本扩展名(.vbs、.js、.tcl)。
备注 当使用 //R 转移指令时,不需要提供脚本文件名。
//I交互模式 (默认值,与 //B 相反)
//B批处理模式。禁止脚本请求的任何非命令行控制台 UI。
//T:nn

超时(秒数)。脚本可运行的最长时间,默认值为 No limit(没有限制)。 此选项用来防止脚本执行时间过长;它设定一个计时器。当执行时间超过指定值,Cscript 就会使用 IActiveScript::InterruptThread 方法中断脚本引擎,并终止该进程。
备注 有一个回叫挂钩。如果调用超时,就调用 OnTimeOut 函数进行清理。尽管可能会产生无限循环,但使用此功能,还是利多弊少。

//logo在执行时显示执行横幅标志(默认值 - 与 //NoLogo 相反)。
//nologo执行时不显示执行横幅标志。
//C将 Cscript.exe 作为运行脚本的默认应用程序。
//S为这个用户(每个用户)保存当前命令行选项。
//®显示命令用法(与不带参数运行相同)。

当安装 WSH 时,就会安装一些脚本示例。脚本示例放在 %windir%/WSamples 文件夹中(其中 %windir% 是 Windows 95 或 Windows 2000 文件夹)。

要运行 Chart.vbs

  1. 请转到 Windows 2000 或 Windows 95 命令提示符。
  2. 运行以下命令:
    cscript //logo %windir%/wsamples/chart.vbs
    cscript //nologo %windir%/wsamples/chart.vbs

使用基于 Windows 的脚本主机运行脚本

在 Windows 中使用 WSH 有三种方法运行脚本。可以:

  • 在“我的电脑”、“资源管理器”和“查找”窗口中双击文件和图标。
  • 使用 Windows“运行”命令。
  • 运行 Wscript.exe。

当您使用 Wscript.exe 运行脚本时,您可以选择“始终使用 Windows Scripting Host 打开该文件”复选框,并在“WSH 属性”页上设置属性。

当运行脚本且选定了“始终使用 Windows Scripting Host 来打开文件”复选框时,对于带有正在运行的脚本的扩展名的文件,Wscript.exe 就成为运行这些文件的默认应用程序。例如,当您运行 Chart.vbs 时,如果选定了该复选框,Wscript.exe 就成为运行所有扩展名为 .vbs 的文件的默认应用程序。此复选框对 Cscript.exe //C 转移指令同样适用。

WSH 属性页提供以下选项:

属性用途CSCRIPT.EXE 的对应项
注册常见的脚本扩展名 通过搜索常见的注册脚本引擎,重新注册常见的脚本扩展名 (.vbs、.js、.tcl)。//R
n 秒后终止脚本指定脚本运行的最大秒数。(默认值是没有限制。)//T:nn
默认情况下,以下列模式运行脚本:交互/批处理禁用或启用脚本的所有非命令行控制台 UI 请求。交互模式允许非命令行控制台 UI 请求。而批处理则不允许。//I & //B

WSH 体系结构概述

Windows Scripting Host 用作 ActiveX 脚本引擎的控制器,其作用如同 Microsoft Internet Explorer。因为该脚本主机不是完全 Internet 浏览器,所以它比 Microsoft Internet Explorer 需要的内存少;因此,WSH 适于执行简单快速的任务。

该脚本主机按脚本引擎提供的 IActiveScriptParse::ParseScriptText 方法读取指定脚本文件内容并将其送到注册的脚本引擎。

该脚本引擎并不使用 SCRIPT 标记(在 HTML 中使用),而使用文件的扩展名。因此,脚本编写者无须熟悉各种脚本引擎的确切 ProgID。此脚本主机维持了一种脚本扩展名与 ProgID 的对应关系,并使用 Windows 关联模式启动相应的引擎。

其它信息

有关 Windows 2000 Server 的最新信息,请查阅 Microsoft TechNet 或访问 Web 站点,网址是:http://www.microsoft.com/china/windows2000/ 或 Microsoft Network 上的 Windows 2000 Server Forum (GO WORD:MSNTS)。

有关 Windows 脚本技术的最新信息,请访问 Microsoft Developer Network,网址是:http://www.microsoft.com/china/msdn/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值