WindowsScript
更多请见个人主页https://www.bajins.com
flag
JScript
、VBScript
同属于官方支持的Windows Script
,这俩脚本都需要依赖于特定的宿主(Host
)才能执行,
JavaScript
浏览器环境之外,还可以运行在Windows Script Host
中。
Windows Script Host
是一个language-independent
的脚本宿主环境,主要用于执行Windows
管理任务
- Windows脚本宿主有两个版本:
- 一个基于Windows的版本(WScript.exe)
,它提供用于设置脚本属性的属性表;运行以vbs
为后缀的文件
- 一个基于命令提示符的版本(CScript.exe
直接执行可查看帮助),它提供命令行。用于设置脚本属性的开关。
//E:engine
使用执行脚本的引擎有:VBScript
和JScript
WScript
对象
所有的Wscript
对象都存放在WSHOM.ocx
文件中
WScript
对象的属性
属性 |
返回值类型 |
说明 |
Application |
Object |
返回 IHost_Class 对象(Wscript 对象)。 |
Arguments |
IArguments_Class |
返回 WshArguments 对象(参数集)。 |
BuildVersion |
Long |
返回 Windows 脚本宿主的内部版本。 |
FullName |
String |
返回宿主可执行文件(CScript.exe 或 WScript.exe)的全路径。 |
Interactive |
Boolean |
设置或确定脚本模式。 |
Name |
String |
WScript 对象(宿主可执行文件)的名称。 |
Path |
String |
返回包含宿主可执行文件(CScript.exe 或 WScript.exe)的路径名称。 |
ScriptFullName |
String |
返回当前运行脚本的完整路径。 |
ScriptName |
String |
返回当前运行脚本的文件名。 |
StdIn |
TextStream |
显示当前脚本的输入流。 |
StdErr |
TextStream |
显示当前脚本的错误输出流。Write 输出,WriteLine 换行输出 |
StdOut |
TextStream |
显示当前脚本的输出流。Write 输出,WriteLine 换行输出 |
Timeout |
Long |
超时设定秒:允许脚本运行的最长时间。 |
Version |
String |
返回 Windows 脚本宿主的版本。 |
WScript
对象的方法
方法 |
参数 |
返回值 |
说明 |
ConnectObject |
(Object As Object, Prefix As String) |
无 |
将对象的事件源连接到具有给定前缀的函数。 |
CreateObject |
(ProgID As String, [Prefix As String]) |
Object |
创建对象。 |
DisconnectObject |
(Object As Object) |
无 |
断开已连接对象的事件源的连接。 |
Echo |
(ParamArray pArgs() As Variant) |
无 |
将文本输出到消息框中或命令控制台窗口。 |
GetObject |
(Pathname As String, [ProgID As String], [Prefix As String]) |
Object |
检索现有的对象或从文件中创建新对象。 |
Quit |
([ExitCode As Long]) |
无 |
强制脚本停止执行。 |
Sleep |
(Time As Long) |
无 |
在指定的时间长度内将脚本执行挂起,然后继续执行。 |
常用组件对象
所有对象都可通过Power Shell
命令查看属性和方法New-Object -ComObject "对象名称" | Get-Member
,
获取本机所有COM
组件对象脚本 Get-COM-Objects.bat
都在注册表HKEY_CLASSES_ROOT
注册表项中,正常情况下项中带有CLSID
键的是脚本可创建的
对象 |
说明 |
WScript.Shell |
脚本外壳 |
Wscript.NetWork |
提供网络连接和远程打印机管理的函数。 |
ADODB对象 |
说明 |
ADODB.Command |
|
ADODB.Connection |
提供数据库连接对象 |
ADODB.Error |
|
ADODB.Parameter |
|
ADODB.Record |
|
ADODB.Recordset |
提供数据库返回结果集对象 |
ADODB.Stream |
|
ADOMD.Catalog |
|
ADOMD.Cellset |
|
ADOX.Catalog |
包含描述数据源模式目录的集合 |
ADOX.Column |
表示表、索引或关键字的列 |
ADOX.Group |
表示在安全数据库内有访问权限的组帐号 |
ADOX.Index |
表示数据库表中的索引 |
ADOX.Key |
表示数据库表中的主关键字、外部关键字或唯一关键字 |
ADOX.Procedure |
表示存储的过程 |
ADOX.Table |
表示数据库表,包括列、索引和关键字 |
ADOX.User |
表示在安全数据库内具有访问权限的用户帐号 |
ADOX.View |
表示记录或虚拟表的过滤集 |
office对象 |
说明 |
Word.Application |
office |
Word.Document |
|
Excel.Application |
提供EXCEL操作对象 |
Excel.Chart |
|
Excel.Sheet |
|
Outlook.Application |
office |
PowerPoint.Application |
office |
MSGraph.Application |
office |