| 一 WScript对象的方法 |
| 1.CreateObject |
| 说明:通过应用StrProgID参数来创建一个对象。 |
| 语句: |
| object.CreateObject(StrProgID[,StrPrefix]) |
| StrProgID:所创建脚本的程序ID. |
| 例子:创建一个WshNetwork对象 |
| Set WshNetwork=WScript.CreateObject("WScript.Network") |
| |
| 2.ConnectObject |
| 说明:用所给的前缀名功能来连接一个脚本的事件来源。 |
| 语句: |
| object.ConnectObject StrObject,StrPrefix |
| StrObject:被连接对象的名称。 |
| StrPrefix:事件功能的前缀。 |
| 下面的例子把一个假设的对象连接至脚本文件,然后脚本调用"SomeMethod".如果在对象中有一个名为"Event"的事件,那么将调用名为MyEvent_Event的子程序。 |
| |
| Set MyObject=WScript.CreateObject("SomeObject") |
| MyObject.SomeMethod |
| WScript.ConnectObject MyObject,"MyEvent_" |
| Sub MyEvent_Event(strName) |
| WScript.Echo strName |
| End Sub |
| WScript.DisconnectObject MyObject |
| |
| 3.DisconnectObject |
| 说明:从Windows Script Host 切断先前连接的对象。 |
| 参数: |
| object:WScript对象。 |
| Obj:被结束的对象名. |
| |
| 4.Echo |
| 说明:将输出内容发送至对话框或控制台。 |
| 语句: |
| object.Echo [Arg1][,Arg2][,Arg3]... |
| 参数 |
| object:WScript对象。 |
| Arg1,Arg2,Arg3...:所显示的 条目清单。 |
| |
| 5.GetObject |
| 说明:通过指定strProgID参数,从一个文件或一个对象取回一个自动对象。 |
| 语句: |
| object.GetObject(strPathname[,strProgID][,strPrefix]) |
| 参数: |
| StrPathname:必须,取回的对象必须包含文件的完整路径和名称。 |
| StrProgID:可选,代表对象的程序号. |
| ps:使用GetObject方法时,必须有当前访问对象,或是已经调用了的要从其中创建对象的文件。如果没有当前对象或是不想从已调用的文件中创建对象,请使用CreateObject的方法。 |
| |
| 6.Quit |
| 说明:退出执行操作,并放回出错代码。 |
| 语句: |
| object.Quit[intErrorCode] |
| intErrorCode:可选猜数。如果使用此参数,WScript会把其作为处理退出的代码放回。如果intErrorCode被忽略,WScript会返回零作为处理退出的代码。 |
| |
| 7.Sleep |
| 说明:让脚本在执行过程中进入停止状态,时间单位为其指定的毫秒,然后继续。 |
| 语句: |
| object.Sleep(int Time) |
| ps:在睡眠时,脚本已经在处理的事件仍会执行完毕。如果脚本引擎超时或因其他原因中断,睡眠立即停止。 |
| 例子: |
| (运行Windows 的计算器。并把击键值送入。进行简单的运算) |
| Set WshShell=WScript.CreateObject("WScript.Shell") |
| WshShell.Run "calc" |
| WScript.Sleep 100 |
| WshShell.AppActivate "Calculator" |
| WScript.Sleep 100 |
| WshShell.Sendkeys "1{+}" |
| WScript.Sleep 500 |
| WshShell.Sendkeys "2" |
| WScript.Sleep 500 |
| WshShell.Sendkeys "~" |
| WScript.Sleep 500 |
| WshShell.Sendkeys "*3" |
| WScript.Sleep 500 |
| WshShell.Sendkeys "=" |
| WScript.Sleep 2500 |
| |
| 二:WshEnvironment对象的方法。 |
| 1.Remove |
| 说明:用指定的strName删除环境变量。 |
| 语句: |
| object.Remove(strName) |
| 例子:以下的范例删除了 EXAMPLE这个环境变量,并删除了用户环境下的多种参数。 |
| Set WshShell=WScript.CreateObject("WScript.Shell") |
| WshShell.Environment("VOLATILE").Remove("EXAMPLE") |
| Set WshUsrEnv=WScript.Environment("User") |
| WshUsrEnv.Remove("EXAMPLE_1") |
| WshUsrEnv.Remove("EXAMPLE_2") |
| WshUsrEnv.Remove("EXAMPLE_3") |
| WshUsrEnv.Remove("EXAMPLE_4") |
| |
| 三:WshNetwork对象的方法 |
| 1.AddPrinterConnection |
| 说明:用参数strRemoteName和strLocalName(本地资源名)来映射远程打印机。 |
| 语句: |
| object.AddPrinterConnection strLocalName,strRemoteName[,bUpdateProfilr][,strUser][,strPassword] |
| StrLocalName:本地资源名。 |
| strRemoteName:远程资源名。 |
| bUpdateProfile:可选参数,如果提供的bUpdateProfile的值是“TRUE”,那么这个映射会留在用户档案中。 |
| StrUset:可选。如果使用非当前用户的方式映射远程打印机,可以知道StrUser 和StrPassward |
| 例子:连接网络打印机到LPT1端口。 |
| Set WshNetwork=CreateObject("WScript.Network") |
| WshNetwork.AddPrinterConnection "LPT!","\\Server\Print]" |
| |
| 2 EnumNetworkDrives |
| 说明:返回网络驱动器的映射。 |
| 语句:objDrives=object.EnumNetworkDrive |
| |
| 3.EnumPrinterConnection |
| 说明:返回当前网络打印机的映射信息。 |
| 语句:objPrinters=object.EnumPrinterConnections |
| ps:对于2和3方法。在信息的条目中有本地名和远程名,第一个条目是驱动器盘符,第二个条目是网络映射信息。这种模式用于网络映射信息集。 |
| |
| 4.MapNetworkDrive |
| 说明:用参数strRemoteName和strLocalName来映射共享信息。 |
| 语句:object.MapNetworkDrive strLocalName,strRemoteName,[bUpdateProfile],[strUser],[strPassword] |
| 例子:把”Z“驱动器映射到网络共享: |
| Set WshNetwork=WScript.CreateObject("WScript.Network") |
| WshNetwork.MapNetworkDrive "Z:","\\Server\Share" |
| |
| 5 RemoveNetworkDrive |
| 说明:用参数strName删除连接的当前资源。 |
| 语句: |
| object.RemoveNetworkDrive strName,[bForce],[bUpdateProfile] |
| bForce:可选参数。如果提供的值是“TRUE”,那么这个映射从用户档案中删除。 |
| 例子:把驱动器"Z"映射为网络共享,然后再删除此连接。 |
| Set WshNetwork=WScript.CreateObject("WScript.Network") |
| WshNetwork.MapNetworkDrive "Z:","\\Server\Share" |
| WshNetwork.RemoveNetworkDrive "Z:" |
| |
| 6.RemovePrinterConnection |
| 参考 5 |
| |
| 7. SetDefaultPrinter |
| 说明:把指定的远程打印机设置为默认的打印机。 |
| 语句: |
| object.SetDefaultPrinter strPrinterName |
| |
| 四 WshShell对象的方法 |
| 1. AppActivate |
| 说明:激活一个应用程序的窗口 |
| 语句:AppActivate title |
| 参数: |
| title:必须。字符串代表要激活的应用程序窗口标题栏的标题。也可以用Shell功能返回的任务ID,代替激活应用程序。 |
| ps:AppActivate语句可以把工作对象转移至命名的应用程序或窗口,但不 影响其是最大化还是最小化。当用户采用某种操作改变工作对象,或者关闭这个窗口时,工作对象才会从激活的应用程序窗口转移。使用Shell功能来启动一个应用程序并设置其窗口样式。 |
| |
| 2.CreateShortcut |
| 说明:创建一个快捷方式或URL快捷方式的引用对象。 |
| 语句:object.CreateShortcut(strPathname) |
| strPathname:被创建快捷方式的路径和名称。 |
| ps:一个WINDOWS的快捷方式必须是以".lnk"为扩张名。如果快捷方式以".url"结尾,即创建了一个URL快捷方式。 |
| |
| 3.ExpandEnvironmentStrings |
| 说明:在运行过程中扩张环境变量,并将结果的字符串返回。 |
| 语句:object.ExpandEnvironmentStrings(strString) |
| 参数:strString:要扩展的环境变量名 |
| ps:变量必须用"%"加在前后。环境变量必须是不敏感的。 |
| 例子:扩展了WINDIR环境变量,并且在消息框中显示。 |
| set WshShell=CreateObject("WScript.Shell") |
| WScript.Echo "WinDir is "&WshShell.ExpandEnvironmentStrings("%WinDir%") |
| |
| 4.LogEvent |
| 说明:把事件记录到Windows NT事件日志或WSH.log文件。 |
| 语句:object.LogEvent(intType,strMessage[,strTarget]) |
| intType:数值代表了事件的类型。 |
| strMessageog条目的正文。 |
| strTarget:可选参数。只可选Windows NT。即事件记录在哪个系统。默认是本地系统。 |
| |
| 5.Popup |
| 说明:显示一个popup对话窗口。其中包含了字符串文本的信息。 |
| 语句: |
| intButton=object.Popup(steText,[natSecondsToWait],[strTitle],[natType]) |
| strText:在popup窗口显示的文本。 |
| NatSecondsToWait:可选。在关闭popup窗口前等待的时间,秒。 |
| StrTitle:可选参数。在popup窗口显示的标题。 |
| NatType:可选参数。在popup窗口显示的按钮和图标类型。 |
| 例子: |
| Set WshShell=WScript.CreateObject("WScript.Shell") |
| WshShell.popup "Welcome to bbs.bathome.net",2,"novaa" |
| |
| 对于VBS对注册表操作的请看专门的一篇文章 |
| 6.RegDelete |
| 说明:用strName参数从注册表删除键值。 |
| strName:要删除的键或数值。 |
| ps:如果strName以(\)结尾,这样删除的是键值而不是数值,StrName参数必须以如下键名开头。 |
| HKCU KEY_CURRENT_USER |
| HKLM HKEY_LOCAL_MACHINE |
| HKCR HKEY_CLASS_ROOT |
| HKEY_USERS |
| HKEY_CURRENT)CONFIG |
| |
| 7.RegRead |
| 语句bject.RegRead(strName) |
| 说明:用strName参数返回注册表的键值或数值。 |
| |
| 8.RegWrite |
| 说明:用strName参数设置注册表的键值或数值。 |
| 语句:object.RegWrite strName,anyValue[,strType] |
| strName:要写入的键值或数值。 |
| AnyValue:要写入的键或注册表数值的对应值。 |
| strType:可选。值的数据类型将留在注册表。 |
| |
| 9.Run |
| 说明:创建一个新的过程。执行strCommand |
| 语句: |
| object.Run(strCommand,[intWindowStyle],[bWaitOnReturn]) |
| StrCommand:在StrCommand参数内的环境变量会自动扩展。 |
| IntWindowStyle:可选。 |
| bWaitOnReturn:可选。如果bWaitReturn没有指定,或是为否,会在程序运行结束前就返回脚本。 |
| 如果bWaitOnReturn的值为是,用Run的方法应用程序会返回任何的错误代码。 |
| 如果bWaitReturn没有指定,或是为否,用Run的方法应用程序会返回一个0的错误代码。 |
| |
| 10.Sendkeys |
| 语句:SendKeys String |
| String:必须的参数。字符串指定要传送的键值。 |
| 注意:每个键都由一个或多个字母代表。要指定一个单独额键盘字符,就使用字符本身。如:"A" "ABC" |
| "+","^","%","~"和圆括号(),对于SendKeys有特殊意义。要指定这些字符,要用大括号{}把他们括起来。如{+}. |
| 如果要指定象ENTER键或TAB键这种不显示,而且又有其他功能的键,请使用下面的 |
| Backspace {BACKSPACE},{BS},or {BKSP} |
| Break {BREAK} |
| Caps Lock {CAPSLOCK} |
| Del or Delete {DELETE} or {DEL} |
| 要指定一些结合Shift ,Ctrl,Alt一起按的键,请使用下面的代码。 |
| Shift + |
| Ctrl ^ |
| Alt % |
| 如:shift和E ,C三个一起按 用 "+(EC)" 指定按住Shift和E,再加C,用"+EC" |
| 指定重复键,使用{键 数字}的形式。必须在键和数字之间加空格键。如:{LEFT 42}代表按方向左键42次。{H 10}表示按H 10 次 |
| |
| 五:WshShortcut对象的方法 |
| 1.Save |
| 把快捷方式保存到指定位置 |
| 语句:object.SaveCOPY |