sw47,谢谢你的答复`~~可怎么调用`~~,response in .wsh
how to do it ???

解决方案 »

  1.   

    留下你的email, 我给你发一个手册.下面简单介绍一下::
    一. 什么是WSH?
    1.WSH是“Windows Scripting Host”的缩略形式,其通用的中文译名为“Windows 脚本宿主”。对于这个较为抽象的名词,我们可以先作这样一个笼统的理解:它是内嵌于 Windows 操作系统中的脚本语言工作环境。
    2.MS-Dos 下的批处理命令也可以看成是一种脚本语言。微软在研发 Windows 98 时,为了实现多类脚本文件在 Windows 界面或 Dos 命令提示符下的直接运行,就在系统内植入了一个基于 32 位 Windows 平台、并独立于语言的脚本运行环境,并将其命名为“Windows Scripting Host”。WSH 架构于 ActiveX 之上,通过充当 ActiveX 的脚本引擎控制器,WSH 为 Windows 用户充分利用威力强大的脚本指令语言扫清了障碍
    3.再具体一点描述:你自己编写了一个脚本文件,如后缀为 .vbs 或 .js 的文件,然后在 Windows 下双击并执行它,这时,系统就会自动调用一个适当的程序来对它进行解释并执行,而这个程序,就是 Windows Scripting Host,程序执行文件名为 Wscript.exe (若是在命令行下,则为 Cscript.exe)
    二、WSH 有什么用
    1.WSH 的设计,在很大程度上考虑到了“非交互性脚本(noninteractive scripting)”的需要。在这一指导思想下产生的 WSH,给脚本带来非常强大的功能,例如:我们可以利用它完成映射网络驱动器、检索及修改环境变量、处理注册表项等工作;管理员还可以使用 WSH 的支持功能来创建简单的登陆脚本,甚至可以编写脚本来管理活动目录
     
    2.从图中我们可以看出,WSH 共有 14 个内置对象,它们各自有着明确分工。
    (1) 具体而言,位于最底部的 Wscript ,主要作用是提取命令行变量,确定脚本文件名,确定 WSH 执行文件名(wscript.exe 还是 cscript.exe),确认 host 版本信息,创建、关连及分离 COM 对象,写入事件,按程序结束一个脚本文件的运行,向默认的输出设备(如对话框、命令行)输出信息等;
    (2) WshArguments 的作用是获取全部的命令行变量;
    (3)  WshNamed 负责获取指定的命令行参数集;
    (4) WshUnnamed 负责获取未经指定的命令行参数集;
    (5) WshNetwork 的主要作用是开放或关闭网络共享,连接或断开网络打印机,
    映射或取消网络中的共享,获取当前登陆用户的信息;
    (6) WshController 可以创建一个远程脚本对象;
    (7) WshRemote 可以实现网络中对计算机系统的远程管理,也可按计划对其它
    程序/脚本进行处理;
    (8) WshRemote Error 的作用在于:当一个远程脚本(WshRemote 对象)因脚
    本错误而终止时,获取可用的错误信息;
    (9) WshShell 主要负责程序的本地运行,处理注册表项、创建快捷方式、获
    取系统文件夹信息,处理环境变量;
    (10) WshShortcut 主要用于按计划创建快捷方式;
    (11) WshSpecialfolders 用于获取任意一个 Windows 特殊文件夹的信息;
    (12) WshURLShortcut 用于按程序要求创建进入互联网资源的快捷方式;
    (13) WshEnvironment 用于获取任意的环境变量(如 WINDIR, PATH, 或 
    PROMPT);
    (14)WshScriptExec 用于确定一个脚本文件的运行状态及错误信息。
    三、WSH 是怎样工作的
    1. WSH 的工作流程,实际上就是脚本文件被解析并执行的过程。
    2. 我们知道,现在脚本经常会被植入网页,其中包括 HTML 页面(客户机端)
    和 ASP 页面(服务器端)。对于植入 HTML 页面的脚本,其所需的解析引擎会由 IE 这样的网页浏览器载入;对于植入 ASP 页面的脚本,其所需的解析引擎会由 IIS(Internet Information Services)提供
    3.WSH 的正常工作的前提,是你必须安装了微软 3.0 或更高版本的 IE,因为 WSH 在工作时会调用 IE 中的 VBScript 和 JScript 解析引擎
     
    (图2)4. 这个流程图,还需要补充两点:1、图中第(2、3)步,WSH 根据脚本文件后缀名,到系统注册表中查询所需的脚本引擎时,VBScript 和 JScript 两种语言的解析引擎是 Windows 系统中原有的,而其它脚本语言的解析引擎,如 PERL、TCL等,需要用户另行定义;2、第(5)步执行脚本命令时,一些脚本指令会使用到 WSH 内置对象所提供的服务(参见本文第二部分),例如处理注册表项。这时,脚本指令就会向 WSH 提出请求,并由 WSH 完成所需任务。也正是在这一步,WSH 的功用得到了淋漓尽致的发挥。
    四、WSH 怎么用
    1. 谈到这个问题,就不太好讲了。正如前面所述,WSH 实际上是一个脚本语言的运行环境,它之所以具备强大的功能,是在于充分挖掘了脚本语言的潜力。因此,如果抛开脚本语言而空谈 WSH ,那实际上就没有了意义。而如果再展开来讲述脚本语言,显然就离开了今天的主题。2. 在这种情况下,只好采取一种折衷的方法:给大家推荐几个脚本文件利用 WSH 执行任务的实例,希望大家能通过这些例子对 WSH 的使用有一个初步的了解。
    3. 脚本文件的编写十分方便,你可以选用任意一个文字编辑软件进行编写,写完后,你只需将它保存为 WSH 所支持的文件名就行了(如 ..js 文件、.vbs 文件)。最常用的编辑器当然就是我们的记事本(Notepad)了,下面的实例都是以它作为工具编写的。
    4. 让我们先来看一个最简单的例子吧。打开记事本,在上面写下:
    WScript.Echo("走近 WSH")
    好了,将它保存为以 ..vbs 或 .js 为后缀名(可千万不要弄成了 ..txt)的文件并退出记事本。双击执行这个文件,看看结果吧,是不是很有意思?
    有了第一印象后,我们继续往下看。
    这一次,我们要利用 WSH 完成一次创建十个文件夹的工作。代码如下:
    dim objdir
    set objdir=wscript.createobject("scripting.filesystemobject")
    for k=1 to 10
    anewfolder="c:\chapter" & k
    objdir.createfolder(anewfolder)
    next
    同样,将它存为 .vbs 文件并退出。运行后,我们会发现,C 盘根目录下一次性多出了十个新文件夹。最后,再举一个在服务器上的运用。下面的代码将帮助你重新启动指定的 IIS 服务:
    define a constant for stopped services
    Const ADS_SERVICE_STOPPED = 1
    get an ADSI object for a computer
    Set objComputer = GetObject("WinNT://MYCOMPUTER,computer")
    get an object for a service
    Set objService = objComputer.GetObject("Service","MYSERVICE")
    check to see if the service is stopped
    If (objService.Status = ADS_SERVICE_STOPPED) Then
        if the service is stopped, then start it
      objService.Start
    End If
       将它以 startsvc.vbs 为名保存在 C: 盘根目录。并通过如下命令执行:CSCRIPT C:\STARTSVC.VBS 。运行后,经你指定的 IIS 服务项将被重新开启。