摘要
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 方法中断脚本引擎,并终止该进程。 |
//logo | 在执行时显示执行横幅标志(默认值 - 与 //NoLogo 相反)。 |
//nologo | 执行时不显示执行横幅标志。 |
//C | 将 Cscript.exe 作为运行脚本的默认应用程序。 |
//S | 为这个用户(每个用户)保存当前命令行选项。 |
//® | 显示命令用法(与不带参数运行相同)。 |
当安装 WSH 时,就会安装一些脚本示例。脚本示例放在 %windir%/WSamples 文件夹中(其中 %windir% 是 Windows 95 或 Windows 2000 文件夹)。
要运行 Chart.vbs
- 请转到 Windows 2000 或 Windows 95 命令提示符。
- 运行以下命令:
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/。