1.引言
WSH的全称是Windows Script Host,是一种支持ActiveX(COM)的独立脚本语言。WSH脚本程序本来是为了替代DOS时代的批处理文件而产生的,后来由于WSH的应用很广泛,已经不只是局限于批处理的替代品了。从Windows98开始,操作系统就已经自带了WSH,因此在Windows98或以上的操作系统中,可以不安装任何软件就能直接使用WSH。Microsoft的主页上有最新版的WSH供下载,目前的版本是5.6,有用于Windows9X与Windows2000/XP的两种版本,每种版本的安装文件均不超过1M。
2.WSH脚本文件的基本概念
2.1 WSH脚本文件类型
WSH可以使用VBscript与Jscript,即使用的脚本语言与网页脚本是一样的。WSH文件的扩展名为vbs及js,分别用VBscript与Jscript作为编程脚本语言。还有一种脚本文件的扩展名是wsf,它是一种包含XML的文件,wsf文件中可以同时包含VBscript与Jscript两种语言。wsf文件中,可以使用多种脚本,需要一些XML标签来声明的,最基本的就是用<script>标签说明脚本的类型,另外最外层要用<job>标签声明任务。下面就是一个最简单的wsf脚本的框架例子:
而vbs与js文件就不用任何额外的内容,直接写VBscript及Jscript语句即可。
2.2 WSH脚本文件的运行:
上面所讲的3种wsh文件都可以直接在Windows中双击运行,他们关联的执行文件是wscript.exe文件。另外执行脚本的程序还有一个,它是cscript.exe,是一个可以在DOS下运行的程序。当然DOS下运行的程序与Windows的大部分功能是相同的,只是稍微有点不同,如同样是Wscript.Echo输出语句,wscript.exe的结果是以窗口方式显示,而cscript.exe是以标准控制台方式输出,并可以进行DOS改向。
另外运行WSH脚本时也支持文件的拖放操作。具体的操作步骤是:选中若干个文件,把它们拖到包含下面脚本的文件,那么下面vbs脚本就会执行,并获取拖过来的文件名,把它们显示出来:
2.3 WSH的主要对象
WSH的脚本不支持API功能,WSH除了提供若干脚本语言外,还提供了一些编程可以使用的对象,利用这些对象,可以方便地进行一些脚本语言本身不具备的功能,如系统、网络等操作。
2.3.1 Wscript对象
Wscript对象是WSH本身具有的对象,在脚本中不需要建立,可以直接使用。它的最常用的一个方法CreateObject,用于创建一个COM对象,可以调用其他COM程序。WSH的Echo方法、Quit方法、Sleep方法,以及Path属性、ScriptFullName属性都可以在脚本中使用,为脚本的编写提供方便。
2.3.2 WshShell对象
WshShell对象是WSH提供的最有用的一个对象,有许多系统功能平时只能用API方式才能实现,用WshShell的方法即可简单地实现。它可用Wscript.Createobject(“wscript.shell”)方法建立。其常用方法与属性有:CreateShortcut方法用于创建一个快捷方式或URL快捷方式; Run方法用于执行程序,功能比VB的Shell命令功能要强,可以直接打开关联文件、文件夹、网页等;RegDelete/RegRead/RegWrite方法是对注册表项的删除、读取与写入,是非常有用的;SendKeys方法将指定的按键序列送至活动窗口;SpecialFolders属性返回特殊的文件夹名,如桌面、我的文档等。
2.3.3 WshNetwork对象
WshNetwork对象主要涉及网络及打印机方面的功能,其主要方法与属性有:建立或删除网络打印机的连接,映射及删除网络驱动器,枚举网络驱动器及网络打印机等方法。
2.3.4 WshShortcut/ WshUrlShortcut对象:
WshShortcut/WshUrlShortcut对象并不能由Createobject方法来产生,而是由WshShell的CreateShortcut方法建立。先设置快捷方式的相关属性,再用Save方法建立即可。
2.3.5 FSO对象:
FSO是File System Object的缩写,它提供磁盘、文件夹及文件的有关操作,是由WScript.CreateObject("Scripting.FileSystemObject")产生。FSO对象对于使用过动态网页制作的人是不陌生的,后台程序对于文件操作基本上都是用FSO来实现的。由于VBscript脚本语言是VB语言的一个简易版,去掉了VB的一些功能,其中所有的文件功能都去掉了,所以脚本中只能用COM的方法调用FSO对象来解决文件夹及文件的一些操作。从严格意义上来讲,FSO对象不是WSH所带的,而是VBscript所带的,但由于WSH本身带了VBscript,而且FSO在WSH的作用 非常大,所以说WSH带了FSO也未尝不可。但由于介绍FSO的文章很多了,所以这里就不再对它进行细述了。
2.3.6 调用其它对象:
WSH是可以调用其它的COM对象的,所以只要机器上已经安装的软件,并提供COM服务器方式的,都可以在WSH中调用。包括ODBC数据库操作对象、各种EXE方式的对象等,如可以直接操作Word的“Word.Application”对象。即WSH能使用的对象就是无穷的了。
2.4 WSH文件的编辑
由于WSH文件是一个纯文本文件,从理论上讲,可以用任何的文本编辑器均可进行编辑。但由于现在一些网页制作软件都为一些脚本程序提供属性及方法的智能提示功能,所以选择一些这样的工具会方便许多的。其中微软的Visual InterDev是不错的选择,毕竟它与WSH都是微软的产品,互相配合比较好。当然若输入是按网页的方式进行,最后可能要去掉一些HTML标签。
WSH的全称是Windows Script Host,是一种支持ActiveX(COM)的独立脚本语言。WSH脚本程序本来是为了替代DOS时代的批处理文件而产生的,后来由于WSH的应用很广泛,已经不只是局限于批处理的替代品了。从Windows98开始,操作系统就已经自带了WSH,因此在Windows98或以上的操作系统中,可以不安装任何软件就能直接使用WSH。Microsoft的主页上有最新版的WSH供下载,目前的版本是5.6,有用于Windows9X与Windows2000/XP的两种版本,每种版本的安装文件均不超过1M。
2.WSH脚本文件的基本概念
2.1 WSH脚本文件类型
WSH可以使用VBscript与Jscript,即使用的脚本语言与网页脚本是一样的。WSH文件的扩展名为vbs及js,分别用VBscript与Jscript作为编程脚本语言。还有一种脚本文件的扩展名是wsf,它是一种包含XML的文件,wsf文件中可以同时包含VBscript与Jscript两种语言。wsf文件中,可以使用多种脚本,需要一些XML标签来声明的,最基本的就是用<script>标签说明脚本的类型,另外最外层要用<job>标签声明任务。下面就是一个最简单的wsf脚本的框架例子:
| <package><job> <script language="VBscript"> wscript.Echo "这是VBscript" 'vb脚本 </script> <script language="jscript"> wscript.Echo("这是jscript") ;//java脚本 </script> </job></package> |
而vbs与js文件就不用任何额外的内容,直接写VBscript及Jscript语句即可。
2.2 WSH脚本文件的运行:
上面所讲的3种wsh文件都可以直接在Windows中双击运行,他们关联的执行文件是wscript.exe文件。另外执行脚本的程序还有一个,它是cscript.exe,是一个可以在DOS下运行的程序。当然DOS下运行的程序与Windows的大部分功能是相同的,只是稍微有点不同,如同样是Wscript.Echo输出语句,wscript.exe的结果是以窗口方式显示,而cscript.exe是以标准控制台方式输出,并可以进行DOS改向。
另外运行WSH脚本时也支持文件的拖放操作。具体的操作步骤是:选中若干个文件,把它们拖到包含下面脚本的文件,那么下面vbs脚本就会执行,并获取拖过来的文件名,把它们显示出来:
| Set objargs=Wscript.Arguments For i=0 to objargs.count-1 Wscript.Echo objargs(i) Next |
2.3 WSH的主要对象
WSH的脚本不支持API功能,WSH除了提供若干脚本语言外,还提供了一些编程可以使用的对象,利用这些对象,可以方便地进行一些脚本语言本身不具备的功能,如系统、网络等操作。
2.3.1 Wscript对象
Wscript对象是WSH本身具有的对象,在脚本中不需要建立,可以直接使用。它的最常用的一个方法CreateObject,用于创建一个COM对象,可以调用其他COM程序。WSH的Echo方法、Quit方法、Sleep方法,以及Path属性、ScriptFullName属性都可以在脚本中使用,为脚本的编写提供方便。
2.3.2 WshShell对象
WshShell对象是WSH提供的最有用的一个对象,有许多系统功能平时只能用API方式才能实现,用WshShell的方法即可简单地实现。它可用Wscript.Createobject(“wscript.shell”)方法建立。其常用方法与属性有:CreateShortcut方法用于创建一个快捷方式或URL快捷方式; Run方法用于执行程序,功能比VB的Shell命令功能要强,可以直接打开关联文件、文件夹、网页等;RegDelete/RegRead/RegWrite方法是对注册表项的删除、读取与写入,是非常有用的;SendKeys方法将指定的按键序列送至活动窗口;SpecialFolders属性返回特殊的文件夹名,如桌面、我的文档等。
2.3.3 WshNetwork对象
WshNetwork对象主要涉及网络及打印机方面的功能,其主要方法与属性有:建立或删除网络打印机的连接,映射及删除网络驱动器,枚举网络驱动器及网络打印机等方法。
2.3.4 WshShortcut/ WshUrlShortcut对象:
WshShortcut/WshUrlShortcut对象并不能由Createobject方法来产生,而是由WshShell的CreateShortcut方法建立。先设置快捷方式的相关属性,再用Save方法建立即可。
2.3.5 FSO对象:
FSO是File System Object的缩写,它提供磁盘、文件夹及文件的有关操作,是由WScript.CreateObject("Scripting.FileSystemObject")产生。FSO对象对于使用过动态网页制作的人是不陌生的,后台程序对于文件操作基本上都是用FSO来实现的。由于VBscript脚本语言是VB语言的一个简易版,去掉了VB的一些功能,其中所有的文件功能都去掉了,所以脚本中只能用COM的方法调用FSO对象来解决文件夹及文件的一些操作。从严格意义上来讲,FSO对象不是WSH所带的,而是VBscript所带的,但由于WSH本身带了VBscript,而且FSO在WSH的作用 非常大,所以说WSH带了FSO也未尝不可。但由于介绍FSO的文章很多了,所以这里就不再对它进行细述了。
2.3.6 调用其它对象:
WSH是可以调用其它的COM对象的,所以只要机器上已经安装的软件,并提供COM服务器方式的,都可以在WSH中调用。包括ODBC数据库操作对象、各种EXE方式的对象等,如可以直接操作Word的“Word.Application”对象。即WSH能使用的对象就是无穷的了。
2.4 WSH文件的编辑
由于WSH文件是一个纯文本文件,从理论上讲,可以用任何的文本编辑器均可进行编辑。但由于现在一些网页制作软件都为一些脚本程序提供属性及方法的智能提示功能,所以选择一些这样的工具会方便许多的。其中微软的Visual InterDev是不错的选择,毕竟它与WSH都是微软的产品,互相配合比较好。当然若输入是按网页的方式进行,最后可能要去掉一些HTML标签。
- 推荐阅讯
- “魔镜”在手 Windows系统还原无忧
- 把“美色”据为己有 详解Windows图像功能
- Windows中卸载顽固程序精彩技巧集锦
- 1G内存够用吗?再谈虚拟内存的合理设置
- 让Windows应用更省心
- 看透字体:探索Windows字体的秘密
- 两招出发,让Windows系统关机无需理由
- 局域网共享新法 我的文件会隐形
- Windows系统中让硬盘更快的九大绝招
- “蓝屏”的软件原因
- 阅读排行
- 1.ie无法打开搜索页
- 2.免费工具 全能助手Windows优化王
- 3.DOS命令大全
- 4.系统保护只用两三招 病毒木马不上门
- 5.电脑开机时出现,托盘程序初始化失败
- 6.MMC不能打开文件解决方法
- 7.到底谁需要64位操作系统
- 8.Windows系统“无法打开”故障解决方法
- 9.Windows操作系统声音故障完全解析
- 10.制作全自动64位Windows XP安装光盘(1)
- 专题教程
- Windows Server-Windows Server文档-Windows Server新闻-Windows Ser PostgreSQL-PostgreSQL文档-PostgreSQL新闻-PostgreSQL专家
- WebLogic-WebLogic文档-WebLogic新闻-WebLogic专家 FreeBSD-FreeBSD文档-FreeBSD新闻-FreeBSD专家
- Linux-内核 GUI KDE Gnome DNS FTP 安全 安装-Linux专区 Windows-AD IIS ServerCore 虚拟化 安全 HPC-Windows专区
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
