WSH簡介
作者:Eve Cole
更新時間:2009-05-30 19:53:53
1.概述雖說不是只有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來完成一些繁瑣的、通常需要我反覆操作才能完成的任務,例如給大量目錄設定ACL,或是創建大量的目錄等等。
雖然這也可以寫VB或VC程式來實現,不過比起腳本來,實在麻煩,至少需要那麼大的環境,而腳本只要一個寫字板就成。用WSH
技術來配置伺服器,包括建立用戶,建立郵箱,建立目錄,建立站點,設定ACL,設定FrontPage ServerExtention,我將在WSH實用講座中分幾講詳細介紹。
2.組成
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部件,你同樣可以使用。
3.範例
下面這個範例示範打開寫字板查看文字文件,同時建立一個文字檔案並寫入一段話,你可以把他拷貝到寫字板中,然後以.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操作文字文件
4.哪裡找到學習材料
在PWS和IIS4的產品文件裡有非常齊全的WSH文檔,建議大家先學習學習,了解了解WSH的基礎知識。