站長(reterry)推薦此篇文章,想學vbscript的朋友,我建議到微軟的官方網站去看,那裡的東西很不錯,生動幽默,我以前學vbscirpt的時候經常去那裡看,而且好多東西,不一定剛開始能看的懂,但不要灰心,把感覺不錯的,你可以用本子抄一遍,學習效果會更好,然後下載個vbscirpt協助檔案,微軟有的下,然後看看多練習。
花了半天時間在MS TechNet看《指令碼的故事》,文章寫得很生動幽默,要是所有的有技術文章都以這種輕鬆的方式來寫就好了。
WMI -- Windows Management Instrumentation
相關連結:
微軟《指令碼指南》:http://www.microsoft.com/china/technet/community/columns/scripts/default.mspx
MSDN WMI Scripting Primer:http://www.microsoft.com/china/technet/archives/columns/scripts/sg0103.asp
指令碼樣本1,顯示本機總記憶體
strComputer = "."
Set wbemServices = GetObject("winmgmts:\\" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_LogicalMemoryConfiguration")
For Each wbemObject In wbemObjectSet
WScript.Echo "Total Physical Memory (kb): " & wbemObject.TotalPhysicalMemory
Next
指令碼樣本2,
strComputer = "."
Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2")
strWQL = "SELECT * " & _
"FROM __InstanceCreationEvent " & _
"WITHIN 2 " & _
"WHERE TargetInstance ISA 'Win32_Process' " & _
"AND TargetInstance.Name = 'notepad.exe'"
WScript.Echo "Waiting for a new instance of Notepad to start..."
Set objEventSource = objWMIService.ExecNotificationQuery(strWQL)
Set objEventObject = objEventSource.NextEvent()
WScript.Echo "A new instance of Notepad was just started."
在指令碼中使用外殼(SHELL)程式
Set objShell = Wscript.CreateObject("Wscript.Shell")
objShell.Run "notepad" '運行記事本
調用命令程式(%COMSPEC%環境變數調用相應作業系統的cmd.exe 或 command.exe)運行指令碼,並保持console視窗:
Set objShell = CreateObject("WScript.Shell")
objShell.Run "%COMSPEC% /k ipconfig"
使用objShell的exec方法代替run方法可將運行返回一個WshScriptExec對象,可對結果顯示做更多的控制。
運行指令碼exam.vbs:
在命令列下輸入:cscript exam.vbs
使用重新導向符將指令碼運行結果輸出到文字檔:
cscript exam.vbs > output.txt //覆蓋方式
cscript exam.vbs >> output.txt //保留添加方式
使用filesystemobject輸出到檔案:
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objNewFile = objFS.CreateTextFile("output.txt")
objNewFile.WriteLine "Header Information -- Date: " & Now()
objNewFile.Close
指令碼主機Script Host:
Wscript.exe 基於GUI視窗
Cscript.exe 基於控制台命令Console