WSH,是“Windows Scripting Host”的縮減形式,其通用的中文譯名為“Windows 指令碼宿主”。
Wscript指令碼主對象
WScript.Echo WScript.BuildVersion
'WSH指令碼宿主的產生版本號碼
WScript.Echo WScript.FullName
'返回WSCRIPT或CSCRIPT指令碼宿主所在的位置路徑
WScript.Echo WScript.Interactive
'返回指令碼模式,僅返回互動模式和批處理模式,預設為互動模式
WScript.Echo WScript.Name '返回 WScript
對象(主機可執行檔)的名稱
Wscript.Echo WScript.Path
'返回包含主機可執行文CScript.exe或WScript.exe的路徑名稱
WScript.Echo WScript.ScriptName
'返回當前雙擊執行的WSF或VBS或JS檔案的檔案名稱
WScript.Echo WScript.Version
'返回WSCRIPT或CSCRIPT的版本號碼
WScript.Echo WScript.ScriptFullName
'返回當前運行指令碼的完整路徑
WScript.Echo WScript.Arguments.count
'返回使用者所拖放檔案至指令碼時的拖放檔案個數
WScript.Echo WScript.Arguments(0)
'返回使用者所拖放檔案第1個單個檔案的完整路徑和名稱
WScript.Sleep 3000
'使程式間隔一段時間後繼續執行,單位豪秒,這裡1000=1秒
Set objname=WScript.CreateObject("??")
'WSH建立COM對象,??是建立對象函數首碼,如WScript.Network
WScript.ConnectObject
串連正與外部指令碼串連的變數名, "表示函數首碼的字串值"
WScript.DisconnectObject
需要中斷連線的正與外部指令碼串連的變數
WScript.Echo "彈出對話方塊後顯示的訊息文字或變數"[,可選第二訊息,第三訊息......]
Set
myobj=GetObject(?[,??],[???])
'?=檔案的完全限定路徑名,??=可選。對象的程式標識符,???=啟動的分支機構應用程式名
WScript.Quit [?]
'終止程式繼續啟動並執行函數,在其下語句則不會執行,?=可不添的,代表退出後的傳回值
'請將此程式少加修改存為wsf尾碼的檔案,然後及可運行,其中當然可以使用VBS的msgbox等函數,同樣也可以使用FSO,ADO等技術,但是首先你必須保證你的機器已經裝有Wscript.exe和Cscript.exe,還有也可以在HTML網頁中使用WSH的諸如Shell對象。此句為注釋,你可以刪除.Shell對象
Set
WshShell=WScript.CreateObject("WScript.Shell")
WScript.Echo
WshShell.CurrentDirectory '返回或更改當前的活動目錄
Set sys=WshShell.Environment
'顯示系統狀態,詳細請看網路程式員伴侶WSH執行個體
Wscript.Echo WshShell.SpecialFolders("Desktop")
'對WINDOW特殊檔案夾的簡易引用,詳細見執行個體
WScript.Echo
WshShell.ExpandEnvironmentStrings("%WinDir%") '返迴環境變數的擴充值,詳細見執行個體
WshShell.Run
"calc",0-10 '運行一個程式,詳細見執行個體
WshShell.AppActivate "網路程式員伴侶-Lshdic2002"
'使指定標題的程式或檔案獲得焦點
WshShell.SendKeys "{del}"
'按鍵(彷彿是在鍵盤上擊鍵一樣),詳細見執行個體
WshShell.Popup
"彈出對話方塊本文",0-5/16/32/48/64,"彈出對話方塊標題",0-5/16/32/48/64 '彈出對話方塊
WshShell.RegWrite
"HKCU\Software\ACME\FortuneTeller\",1,"REG_BINARY"
'寫註冊表見執行個體
WshShell.RegDelete "HKCU\Software\ACME\FortuneTeller\MindReader"
'刪除註冊表見執行個體
key=WshShell.RegRead("HKCU\Software\ACME\FortuneTeller\")
'讀註冊表見執行個體
'請將此程式少加修改存為wsf尾碼的檔案,然後及可運行,其中當然可以使用VBS的msgbox等函數,同樣也可以使用FSO,ADO等技術,但是首先你必須保證你的機器已經裝有Wscript.exe和Cscript.exe,還有也可以在HTML網頁中使用WSH的諸如Shell對象。此句為注釋,你可以刪除.
Network對象
Set
WshNetwork = WScript.CreateObject("WScript.Network")
WScript.Echo "你的網域名稱是: "
& WshNetwork.UserDomain '返回使用者的網域名稱
WScript.Echo "你的電腦系統名稱是:" &
WshNetwork.ComputerName '返回電腦系統的名稱
WScript.Echo "你是:" &
WshNetwork.UserName
'返回電腦使用者名稱
'請將此程式少加修改存為wsf尾碼的檔案,然後及可運行,其中當然可以使用VBS的msgbox等函數,同樣也可以使用FSO,ADO等技術,但是首先你必須保證你的機器已經裝有Wscript.exe和Cscript.exe,還有也可以在HTML網頁中使用WSH的諸如Shell對象。此句為注釋,你可以刪除.
完整WSH執行個體
wscript.echo
"這便是一簡單的WSH程式,從此你又多學了一項新技術[WSH]"
msgbox "怎麼樣?VBS中的msgbox也起作用哦" & vc &
vc & "少等1500毫秒,彈出JS語言版的對話方塊",32,"WSH執行個體"
WScript.Sleep 1500
'使程式停頓1500毫秒
pop=WScript.CreateObject("Wscript.Shell")
pop.Popup
("恭喜!你終於懂了",48,"這是JS哦")
捷徑操作執行個體
Set Shell =
CreateObject("WScript.Shell")
paths = Shell.SpecialFolders("Desktop")
'用函數指定特殊檔案夾,這裡是[案頭]
Set link = Shell.CreateShortcut(paths &
"\捷徑名稱.lnk")
link.Description = "此句為注釋,這是用WSH建立的捷徑"
link.HotKey =
"CTRL+ALT+SHIFT+X" '這是為捷徑定義快速鍵
link.IconLocation = "pbrush.exe,0"
'指定捷徑表徵圖,這裡勉強先用畫圖程式的表徵圖
link.TargetPath = "http://www.lshdic.com"
'這裡指定串連目標,先勉強用我以前的首頁代替
link.WindowStyle = 3 '表單彈出方式。
link.WorkingDirectory
= paths '指定捷徑的工作目錄
msg = msgbox("你確認要在案頭建立一個捷徑嗎?",32+1,"如何?")
if msg =
1 then
link.Save '儲存使程式立即生效
end
if
'此檔案運行請儲存為wsf尾碼的檔案
'請將此程式少加修改存為wsf尾碼的檔案,然後及可運行,其中當然可以使用VBS的msgbox等函數,同樣也可以使用FSO,ADO等技術,但是首先你必須保證你的機器已經裝有Wscript.exe和Cscript.exe,還有也可以在HTML網頁中使用WSH的諸如Shell對象。此句為注釋,你可以刪除.
註冊表操作執行個體
Set
WshShell=WScript.CreateObject("WScript.Shell")
WshShell.RegWrite
"HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet
Explorer\Control Panel\homepage",1,"REG_DWORD"
'寫註冊表(0=要寫的值,REG_DWORD是16或10進位格式也可以是REG_SZ=字串
REG_BINARY=二進位值整數REG_EXPAND_SZ=可擴充的字串)
Msgbox
WshShell.RegRead
("HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet
Explorer\Control Panel\homepage")
'讀註冊表操作
'注意,程式寫到這裡如果將homepage的值設為1,則IE瀏覽器internet選項的IE首頁設定欄將變灰,確認請開啟IE瀏覽器查看,如果想恢複,則把本程式的homepage的值改成0運行即可
, 由此可見WSH操作註冊表的確是很實用的技術!此檔案運行請儲存為wsf尾碼的檔案類比輸入執行個體
Set
WshShell=WScript.CreateObject("WScript.Shell")
WshShell.Run "Notepad",1
'運行WINDOWS系統內建的記事本程式
wscript.sleep 1000
'停頓1秒種為了使記事本程式載入完畢
WshShell.AppActivate "無標題 - 記事本"
'使記事本程式獲得焦點
WshShell.SendKeys "1234567890 hehe" '開始類比按鍵了
wscript.sleep 500
wshshell.sendkeys "{enter}no not"
wscript.sleep 500
wshshell.sendkeys
"{bs 11}"
wscript.sleep 600
wshshell.sendkeys " hahahahahahaha!Bye bye my
boby ~0_0~ "
'此檔案運行請儲存為wsf尾碼的檔案
系統檢測執行個體
Set
WshShell=WScript.CreateObject("WScript.Shell")
Set
sys=WshShell.Environment
for each i in sys
'採用VBS的窮盡方法,直至sys為空白
WScript.Echo
i
next
'此檔案運行請儲存為wsf尾碼的檔案,如果在網路運行,請只保留VBS語句。