VBScript进阶篇一

                                                             作者:尹正杰      

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

一.编译型与解释型的区别

其实我们通过一张图就可以大致了解一下,他们运行机制。

VBScript进阶篇一

想要了解更多,请猛戳:http://www.cnblogs.com/yinzhengjie/p/6229931.html

 

二.WSH的介绍

  WSH是一个Windows管理工具。WSH创建了一个脚本运行的主环境,当脚本到达一台计算机时,WSH扮演主人的角色。WSH使脚本能够使用对象和服务,并提供脚本执行的准则。此外,WSH还负责安全管理以及调用适当的脚本引擎。WScript不属于脚本语言,他只属于脚本宿主提供的一个接口。其实cmd窗口也可以理解成一个脚本宿主而已,它是一个批处理宿主。

  独立的脚本有多种不同类型,每种类型都有其各自的扩展名。下表列出了一些常见类型:

扩展名 脚本类型 说明
.bat MS-DOS 批处理文件 MS-DOS 操作系统的批处理文件
.asp ASP 页 Active Server Page 文件
.html HTML 文件 Web 页
.js JScript 文件 Windows 脚本
.vbs VBScript 文件 Windows 脚本
.wsf Windows 脚本宿主文件 Windows 脚本的容器或项目文件;由 WSH 2.0 或更高版本支持。
.wsh Windows 脚本宿主文件 脚本文件的属性文件;由 WSH 1.0 或更高版本支持。

  每种脚本类型都适于不同应用程序的需要,并且各有利弊。您所选择的脚本类型取决于您的需要。但在某些情况下,可以将整个问题分成几个小部分,为每个部分单独编写脚本,每个脚本都使用最适当的脚本语言。

这时,Windows 脚本宿主文件(WSF 文件)非常有用。WSF 文件可以将其他脚本文件作为脚本的一部分包括在其中。因此,多个 WSF 文件可以引用有用的函数库,它们是在一个位置创建和存储的。

 

三.WSH在命令行执行VBS

WSH提供了两个用于执行脚本的接口,一个用于命令行,一个用于Windows环境。这两个接口各使用不同的宿主程序作为VBScript引擎:

  1>● cscript.exe:用于在命令行中(cmd窗口)运行脚本【在执行脚本时候打印的内容会在命令行中显示】;

  2>● wscript.exe:用于在Windows环境中运行脚本(指得是你用鼠标双击运行一个"*.vsb"脚本,会出现一个对话框)【在执行脚本时候打印的内容会弹出一个脚本宿主对话框的形式显示】;

  之所以有两个宿主程序,是因为cscript.exe被设计为从控制台窗口启动(一般来说是Windows中的MS-DOS窗口)其实就是我们工作中常用的cmd窗口,而wscript.exe则用于直接与Windows GUI进行交互。这两者就功能来讲几乎没有区别。

 

四.WScript对象

 1 Option Explicit
 2 '@author :yinzhengjie
 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/
 4 'EMAIL:y1053419035@qq.com
 5 
 6 
 7 '提供对 Windows 脚本宿主对象模型根对象的访问。
 8 
 9 '说明
10 'WScript 对象是 Windows 脚本宿主对象模型层次结构的根对象。它从不需要在调用其属性和方法之前进行实例化,并且始终可在任何脚本文件中使用。WScript 对象提供对以下信息的访问: 
11 
12 '命令行参数, 
13 '脚本文件的名称, 
14 '宿主文件名, 
15 '宿主版本信息。 
16 'WScript 对象可用来: 
17 
18 '创建对象, 
19 '连接对象, 
20 '与对象断开连接, 
21 '同步事件, 
22 '以编程方式停止脚本的执行, 
23 '将信息输出到默认输出设备(Windows 对话框或命令控制台)。 
24 'WScript 对象可用来设置脚本运行的模式(交互模式或批处理模式)。
25 
26 '属性:
27 'WScript对象具有下列属性: 
28 '● Arguments 
29 '● FullName 
30 '● Interactive 
31 '● Name 
32 '● Path 
33 '● ScriptFullName 
34 '● ScriptName 
35 '● StdErr 
36 '● StdIn 
37 '● StdOut 
38 '● Version 
39 
40 
41 '方法:
42 'WScript的方法 
43 'WScript对象具有下列方法: 
44 '● CreateObject 
45 '● ConnectObject 
46 '● DisconnectObject 
47 '● Echo 
48 '● GetObject 
49 '● Quit 
50 '● Sleep 

 

 

WScript属性详解:

 1 Option Explicit
 2 '@author :yinzhengjie
 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/
 4 'EMAIL:y1053419035@qq.com
 5 
 6 
 7 Dim  objArgs,i
 8 
 9 Set objArgs = WScript.Arguments '将命令行整体看作一个参数
10 
11 For i = 0 To objArgs.Count -1 'objArgs.Count表示统计在cmd中调用cscript宿主脚本执行当前脚本时候跟的参数,如果有三个参数是就是数字3,但是由于我们变了是从“0”开始计数的,所以到下表“2”的时候就已经是三个参数了,如果不减去“1”的话就会报错“运行时错误: 下标越界”
12     WScript.Echo "i = "& i & ";Item = "& objArgs.Item(i)
13 Next 
14 
15 
16 '以上代码在cmd窗口调用cscript宿主脚本执行结果如下:
17 'C:\Users\尹正杰>cscript C:\Users\尹正杰\Desktop\test.vbs dir /a /b
18 'Microsoft (R) Windows Script Host Version 5.8
19 '版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。
20 
21 'i = 0;Item = dir
22 'i = 1;Item = /a
23 'i = 2;Item = /b
24 
25 'C:\Users\尹正杰>
Arguments用法展示

相关文章: