跟我从头学WSH(1)–脚本编写

作者:qiqinghua
来源:青蛙的梦想

前言

呵呵!

这篇是我刚刚完成教案的翻版,为什么要写这篇东西呢?是因为当初参加ESS培训的时候,发现更深入的应用SMS,需要WMI的知识,然后想看看 WMI,却发现要深入理解WMI,又事先要有点WSH脚本的经验,于是就转而看WSH,花了春节及以后的几天,写出了教案。于是,找盆盆的地盘,将东西贴出来,起名叫《跟我从头学WSH》,因为我就是从头开始学的。肯定要被各位大侠笑话了,大家就全当鼓励我吧。

现在,我正全力转向写WMI的教案,完成后,将全篇贴出。

第一章 介绍WSH

一,介绍WSH
(1)首先, WSH不是一个文件,它是一个运行脚本的集合 Script file 能够运行在WSH环境中,WSH支持所有的32位操作系统 。
WSH包含几个组件,这几个组件协同工作,提供操作系统运行脚本的能力
主机:
主机就是运行脚本的计算机,在WSH之前,IIS和IE是唯一能够运行脚本的,这样就被限制在web页里,使用csript.exe和wscript,你可以在web环境之外运行脚本。这些主机接受脚本并且判断什么样的脚本引擎你需要使用,并且执行脚本。
脚本引擎
WSH支持两种脚本语言,VB scripting和Jscript
当脚本主机判定了语言所需要的脚本,就加载对应的脚本引擎。并且执行脚本
对象模块
脚本程序通常使用对象扩展标志。Objects represent packaged的功能使得你可以重用你的脚本。它提供了一个黑盒重用的概念(无需理解复杂代码是如何实现的)。你可以在你的脚本使用objects执行很多任务。
相关的对象被定义在结构中,被称为对象模块。对象模块被定义包含在dynamic link libraries或ActiveX control中。
当你安装了WSH,你就装了主机,两个native script引擎和两个object model, Windows script host和script run-time object.

(2)WSH的优点
WSH是一种非交互的脚本,不如象batch,longon和管理脚本等
在一些额外的处理上,WSH可以和用户有一定的交互u,比如输入合适的参数和信息等
小内存需求
执行WSH脚本花费的内存很少
语言独立(无关)
虽然WSH天生支持VB script和Jscript语言,你可以扩展环境,使得它支持更多的语言,比如perlscript
脚本重用
使用WSH,你可以将你的脚本保存成操作系统文件,可以简单的采用notepad进行编写和保存,在保存后可以运行很多次。
命令行
在WSH,只有一个内置的命令语言工具:cmd。exe
使用bat文件可以包含多行命令,它仍旧是极其有用的管理工具。

(3) 脚本文件类型 :包括以下的扩展名类型
Vsb 和 vbe vbscrip 的脚本文件
Js和jse jscript
.wsh 脚本控制文件,控制脚本的执行 (类似于快捷方式或pif文件,指向你要执行的文件,也可以设置环境设置)
Wsf:使用xml书写的windows script
Wsc script component file:同样是xml实现

二。运行脚本

(1) WSCript运行脚本

*从windows 运行脚本

?双击,默认将使用wscript.exe运行脚本
?使用run command
?将脚本文件拖拽到wscript.exe文件上运行
?创建wsh文件

*Wscript.exe是默认主机

(2)使用CSCRIPT运行脚本
使用cscript.exe运行脚本
Cscript.exe是wscript.exe的命令行版本
在run中的语法:
CScript [host options…][script name][options and parameters]

(3)脚本语言引擎
脚本语言引擎
选择脚本语言
Vbscript
没有编程经验,或对vb熟悉
Microsoft jscript
熟悉c visual c++ java

三。使用脚本

(1)书写脚本
书写脚本
WSH 2.0
WSH 2.0 ships with the following versions of Windows:
Windows Millenium Edition (Me)
Windows 2000 Professional
Windows 2000 Server
Windows 2000 Advanced Server
Windows 2000 Datacenter Server
WSH 1.0
WSH version 1.0 is integrated into Windows 98. Both Windows 95 and
Windows NT version 4.0
开发工具
?Notepad
?第三方开发工具
?Microsoft visual inter dev和visual basic for application
相关文档
最好安装 visual basic scripting edition和windows host online reference documentation
You can install the WSH documentation by downloading and running
Wshdoc.exe from:
http://msdn.microsoft.com/scripting/windowshost/wshdoc.exe
You can install the VBScript documentation and samples by downloading and
running Vbsdoc.exe from:
http://msdn.microsoft.com/scripting/VBScript/download/vbsdoc.exe

(2)编辑脚本
脚本错误
?语法错误
?Run-time errors
?比如打开一个不存在的文件等
?逻辑错误
?比如输入的密码错误,但脚本还是运行了不该处理的进程等
微软脚本debugger
帮助你发现问题和错误
?安装微软脚本debug
?可以使用add/remove program来安装script debuger. Manner: systemroot\Help\debug\Sdbug.htm
?可以直接运行,设置断点等等

(3)排错
排错
Wscript.echo方法:
Wscript.echo “ this is aa message” 弹出一个message窗框,按OK后继续运行以后的代码,如果是cscript,则在命令行中显示,不需要用户的参与直接运行后面的代码。
The debugger launches with out loaded script
如果debugger launches 没有被一个脚本调用,通常是运行时有语法错误。错误代码将高亮显示。
Visual Studio installation
如果安装了visual studio version 6.0,那么visual studio将代替掉microsoft script debuger.
如果这不是你的需要的,可以有两种方法:
? Remove and reinstall the debugger.
? Modify the registry entry for the default debugger directly.
The registry key for the default debugger is:
HKEY_CLASSES_ROOT\CLSID\
{834128A2-51F4-11D0-8F20-00805F2CD064}\LocalServer32
For the script debugger, this entry should contain C:\Program
Files\Microsoft Script Debugger\msscrdbg.exe. For Visual InterDev, it
should contain C:\Program Files\Microsoft Script Debugger\mdm.exe.

(4)对比vbscript和visual basic
?Visual basic scripting edition是一种解释执行的语句,并不编译执行。
?语法不同
?没有sub()和function()
?Vbscript 只有一种数据类型叫variant,不能申明额外的数据类型
?不能使用debug.print,取而代之的是wscript.echo
?不能直接访问type library references
?如果要使用某个变量,比须在前面先申明

相关日志

发表评论