日期:2008-08-09  浏览次数:21065 次

虽说不是只有NT5才有WSH,但NT5(WINDOWS2000)一定有WSH的。
实际上,你在WIN98+PWS里,或者NT4+IIS4里,你就能找到WSH。

WSH是微软脚本技术系列中的一种,简单讲,就是提供了一种脚本环境,
在这个环境中,预定义了一些对象,同时也可以使用COM里的其他对象。
他使用一种脚本引擎来对脚本解释执行,微软自己支持VBSCRIPT和JSCRIPT,
第三方也可以开发自己的脚本引擎。

具体点,就是你先编好一些脚本文件(微软自带例子若干,后缀.vbs或 .js),
然后用一个程序对他解释执行,这个程序就叫Windows Scripting Host,程序
的名字是Wscript.exe(或者命令行的Cscript.exe),你可以查看一下你的机器
里有没有这两个文件,就知道有没有WSH了。
这非常像批处理文件,只不过文件里不是命令行,而是脚本语言写的脚本。

同时,他完成的功能也非常像批处理文件,只不过多了些控制。

WSH自带的几个内置对象包括:

1.由 Wscript.exe 提供的对象
Wscript 作为 Wscript 公开给脚本引擎。
WshArguments 未公开;通过 Wscript.Arguments 属性访问。

2.由 WSHom.Ocx 提供的对象。
WshShell 自动对象。
ProgID 是 Wscript.WshShell。
WshNetwork 自动对象。ProgID 是 Wscript.WshNetwork。
WshShortcut 未公开;通过 WshShell.CreateShortcut 方法访问。
WshUrlShortcut 未公开;通过 WshShell.CreateShortcut 方法访问。
WshCollection 未公开;通过 WshNetwork.EnumNetworkDrives 或 WshNetwork.EnumPrinterConnection 方法访问。
WshEnvironment 未公开;通过 WshShell.Environment 属性访问。
WshSpecialFolders 未公开;通过 WshShell.Folder 属性访问。

他们主要可以完成环境变量的获取,网络登陆,驱动器映射,快截方式创建,
程序加载,特殊文件夹(如系统文件夹)信息获取等功能。

如果你的系统里支持ADO等COM部件,你同样可以使用,
下面这个例子演示打开写字板查看文本文件,同时创建一个文本文件并写入一
段话,你可以把他拷贝到写字板中,然后以.vbs为后缀存盘,之后双击他,

'test.vbs

Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Run ("notepad " & Wscript.ScriptFullName)
'上面用SHELL对象启动程序

Set fs = Wscript.CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("c:\testfile.txt", True)
a.WriteLine("这是一个测试。")
a.Close
'用COM对象Scripting.FileSystemObject操作文本文件

关于WSH,PWS和IIS40的文挡里都有介绍。我其实是多嘴了,呵呵。

版权没有.1999   white