一 前言
windows系统为我们提供了脚本语言,它语法简单,无需编译连接,用系统带的notpad即可创建,double click即可执行,更重要的是它提供的一些常用的功能,可以说是很强大的哦。
对于每一个在windows上编程的人员来说,学习windows的脚本语言是很有必要的。windows的脚本语言,他有很多功能,有很多的用处,例如脚本通常内嵌在 Web 页中,要么是 HTML 页(在客户端),要么是 ASP 页(在服务器端)。如果脚本内嵌在 HTML 页中,则用于解释和运行脚本代码的引擎组件是由 Web 浏览器(如 Internet Explorer)加载的。如果脚本内嵌在 ASP 页中,则用于解释和运行脚本代码的引擎内嵌在 Internet Information 服务 (IIS) 中。但是我们这里将的不是在网络方面的应用,而是在windows系统上的管理,有脚本引擎直接执行,在windows的系统管理方面,她能帮你搞定一些windows常见的操作,对这些小任务我们没有必要使用c++这样的功能强大的语言。它给人的感觉就像是一个温柔,漂亮的女子。对于习惯使用c,c++等编程的人员来说,它的这种柔能给你带来意想不到的收获,能够给你带来方便快乐,使你钢柔结合,百战百胜。(但windows的脚本技术对系统网络管理员那是非常有用的哦)

二 下载
目前最新的版本为5.6,可以到MS的网站下载安装。http://www.microsoft.com/china/scripting

三 内容
下面简单说明它的组建及其作用:
 

JScript
Microsoft 功能强大的脚本编写语言是专为 Internet 而设计的。JScript.NET 是 Microsoft ECMA 262 语言的下一代实施产品。与 ECMAScript Edition 4 一起开发的、JScript.NET 中的改进功能包括了准确编译的代码、类型与无类型的变量、类(内含继承、函数重载、属性访问器等等)、包、跨语言支持,以及对 .NET 框架的访问。
VBScript
Microsoft Visual Basic Scripting Edition 为各种环境提供有效的脚本编写手段,包括 Microsoft Internet Explorer 中的 Web 客户端脚本编写及 Microsoft Internet Information Services 中的 Web 服务器端脚本编写。
脚本运行时
Dictionary 对象相当于 PERL 的关联数组。项可以是任意形式的数据,存储在数组中。每一个项与唯一的关键字相关联。关键字用于检索个别项,通常是一个整数或字符串,它可以是数组以外的任何内容。

FileSystemObject (FSO) 对象模型允许您使用熟悉的 object.method 语法以及一系列属性、方法和事件来处理文件夹和文件。

脚本 Encoder 是一种简单的命令行工具,它使脚本设计者能够对自己的最终脚本进行编码,这样 Web 主机和 Web 客户机就不能查看或修改它们的源代码。

Windows 脚本部件
Microsoft® Windows® 脚本部件为您提供了使用脚本语言,如 Microsoft® Visual Basic® Scripting Edition (VBScript) 和 Microsoft® JScript® 创建 COM 组件的简单方法。
Windows 脚本宿主
Microsoft Windows 脚本宿主 (WSH) 是一种工具,它允许您在基本操作系统(Windows 95 或 Windows NT 4.0.)内部运行 Visual Basic Scripting Edition 和 JScript。
Windows 脚本接口(英文)
Microsoft Windows 脚本接口为应用程序引入了一种增强脚本和 OLE 自动化功能的新方法。

四 原理
接下来图示它的执行原理:


五 详细讲讲Windows脚本技术
     
       从Microsoft提供的脚本技术手册我们开始分析:

1)windows操作系统自带的脚本引擎默认支持VBScript和JavaScript,相信只要学过任何一门语言的要学这两们脚本语言并不难的。
2)学习语法的时候,我们要重点学习这两门语言提供的对象,他们可以相互补充,更好的完成我们的任务,javaScript中的:
    

描述 语言元素
启用并返回一个 Automation 对象的引用。 ActiveXobject 对象
提供对创建任何数据类型的数组的支持。 Array 对象
创建一个新的 Boolean 值。 Boolean 对象
提供日期和时间的基本存储和检索。 Date 对象
存储数据键、项目对的对象。 Dictionary 对象
提供集合中的项的枚举。 Enumerator 对象
包含在运行 JScript 代码时发生错误的有关信息。 Error 对象
提供对计算机文件系统的访问。 FileSystemobject 对象
创建一个新的函数。 Function 对象
是一个内部对象,目的是将全局方法集中在一个对象中。 Global 对象
一个内部对象,提供基本的数学函数和常数。 Math 对象
表示数值数据类型和提供数值常数的对象。 Number 对象
提供所有 JScript 对象的公共功能。 object 对象
存储有关正则表达式模式查找的信息。 RegExp 对象
包含一个正则表达式模式。 正则表达式对象
对文本字符串进行操作和格式处理,判定在字符串中是否存在某个子字符串及确定其位置。 String 对象
提供对 Visual Basic 安全数组的访问。 VBArray 对象

和VBScript中的:
 

Class 对象

Err 对象

Matches 集合

Match 对象

正则表达式 (RegExp) 对象

SubMatches 集合

3)windows脚本运行时包括Dictionary 对象,FileSystemObject对象,其实这两对象也是脚本语言的特性,FileSystemObject对象比较常用,用来操作文件,文件夹,驱动器等。

4)Windows脚本宿主(WSH),是windows提供的对系统的管理工具,他只是对windows系统提供的默认的脚本语言兼容。我们还可以使她扩展支持其他的脚本语言。windows脚本宿主的基本任务:

  • 访问网络
  • 创建自动登录脚本
  • 驱动应用程序
  • 执行文件管理操作
  • 管理快捷方式
  • 操纵系统注册表
  • 远程运行脚本
  • 对脚本进行签名
  • WSH 和 Windows 管理规范 (WMI)
     

5)Windows脚本部件,Microsoft® Windows® 脚本部件为您提供了使用脚本语言(诸如 Microsoft® Visual Basic® Scripting Edition (VBScript) 和 Microsoft® JScript®)来创建 COM 部件的便利途径。(一般不用)

6)Windows脚本的扩展,我们除了可以是用VBScript和JavaScript写脚本宿主文件,也可以通过.wsf和.wsh后缀XML格式文件同时使用VBScript和JavaScript的特性,我们也可以使用Windows脚本接口扩展使其支持使用其他的脚本语言,例如perl,ruby,python