- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章VBS基础篇 - wscript 对象详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
1、wscript对象 。
描述:提供对 Windows 脚本宿主对象模型根对象的访问。 详述:WScript 对象是 Windows 脚本宿主对象模型层次结构的根对象。它可在任何脚本文件中使用,不需要特定的声明。 WScript 对象提供对以下信息的访问命令行参数, 脚本文件的名称,宿主文件名, 宿主版本信息。 WScript 对象可用来创建对象,连接对象, 与对象断开连接, 同步事件, 以编程方式停止脚本的执行,将信息输出到默认输出设备(Windows 对话框或命令控制台).
WScript 对象也可用来设置脚本运行的模式(交互模式或批处理模式)。 就像刚才我们说的一样,对象通过两种其自有的特性想我们提供工具,这两种特性分别是“属性”和“方法”.
2、属性 。
1、Arguments 属性 。
描述:用于返回 Arguments 对象(这个对象我们以后会学,现在只需要了解就行)。 语法:object.Arguments 参数:object ,WScript 对象 。
例子:显示本vbs文件运行的参数 。
1
2
3
4
|
Set
Arg = WScript.Arguments
For
i = 0
To
Arg.Count - 1
MsgBox Arg(i)
Next
|
将上面这些代码保存为vbs文件,然后将一个或者数个任意的文件拖放到这个vbs文件上面上,那么他会逐个显示你拖放的文件。(这仅仅给出了一个实例,用到了Arguments对象,其的具体用法我们以后再了解) 。
2、FullName 属性 。
描述:返回主机可执行文件(CScript.exe 或 WScript.exe)的完全限定路径。 语法:object.FullName 参数:object ,WScript 对象 。
例子:显示本机wscript的路径 MsgBox wscript.fullname 在默认的情况下会显示"C:\WINDOWS\system32\wscript.exe" 。
3、Interactive 属性 。
描述:设置或确定脚本模式。 语法:object.Interactive 参数:object ,WScript 对象 说明:Interactive 属性返回一个布尔值.
有批处理和交互两种模式。在交互模式(默认模式)下,该脚本为用户提供交互功能。启用对 Windows 脚本宿主的输入和输出。该脚本可以将信息显示在对话框中并等待用户提供反馈。在批处理模式下,不支持这种类型的用户交互,所有对 WSH 的输入和输出被禁用。还可以使用 Windows 脚本宿主命令行开关 / / I(对于交互式)和 / / B(对于批处理模式)来设置脚本模式.
例子:显示本机的脚本模式 MsgBox WScript.Interactive 。
4、Name 属性 描述:返回 WScript 对象(主机可执行文件)的名称。 语法:object.Name 参数:object ,WScript 对象 例子: MsgBox WScript.name 。
5、Path 属性 。
描述:返回包含主机可执行文件(CScript.exe 或 WScript.exe)的路径名称 语法:object.Path 参数:object ,WScript 对象 例子: MsgBox WScript.Path 如果你的wscript.exe是在”C: \ WINDOWS \ system32 \ wscript.exe“那么本属性会显示”C: \ WINDOWS \ system32“ 。
6、ScriptFullName 属性 。
描述:返回当前运行脚本的完整路径。 语法:object.ScriptFullName 参数:object ,WScript 对象 例子:显示本vbs的完整路径 MsgBox WScript.ScriptFullName 。
神奇吧,这个vbs竟然知道他自己的名字.
7、ScriptName 属性 。
描述:返回当前运行脚本的文件名。 语法:object.ScriptName 参数:object ,WScript 对象 说明:刚才我们知道了用ScriptFullName可以获取vbs文件自身的完整路径,加入你只想要这个文件的名字改怎么办?看例子。 例子:显示本VBS文件的名字 MsgBox WScript.ScriptName 怎么样?看到了吗?
8、Version 属性 。
描述:返回 Windows 脚本宿主的版本。 语法:object.Version 参数:object ,WScript 对象 例子:显示本机脚本宿主版本 MsgBox WScript.version 。
3、方法 。
1、CreateObject方法 。
描述:创建一个对象 语法:CreateObject(appname.objecttype,[servername]) 解释:appname 必需的,Variant(字符串)。提供该对象的应用程序名。 objecttype 必需的;Variant(字符串)。待创建对象的类型或类。 servername 可选的; Variant (String). 要在其上创建对象的网络服务器名称。 说明:要创建 ActiveX 对象,只需将 CreateObject 返回的对象赋给一个对象变量: Set ExcelSheet = CreateObject("Excel.Sheet")'的引用。 每个支持自动化的应用程序都至少提供一种对象类型.
例如,一个字处理应用程序可能会提供 Application 对象,Document 对象,以及 Toolbar 对象。要创建 ActiveX 对象,只需将 CreateObject 返回的对象赋给一个对象变量:
1
2
3
4
5
6
7
|
Dim
ExcelSheet
As
Object
'声明一个对象变量来存放该对象
Set
ExcelSheet = CreateObject(
"Excel.Sheet"
)
ExcelSheet.Application.Visible =
True
'设置 Application 对象使 Excel 可见
ExcelSheet.Cells(1, 1).Value =
"This is column A, row 1"
'在表格的第一个单元中写些文本
ExcelSheet.SaveAs
"C:\ TEST.xls"
'将该表格保存到 C:\test.xls 目录
ExcelSheet.Application.Quit
'使用应用程序对象的 Quit 方法关闭 Excel。
Set
ExcelSheet =
Nothing
'释放该对象变量
|
上述代码将启动该应用程序创建该对象,在本例中就是创建一个 Microsoft Excel 电子数据表。对象创建后,就可以在代码中使用自定义的对象变量来引用该对象。在下面的示例中,可以使用对象变量 ExcelSheet 来访问新建对象的属性和方法,以及访问 Microsoft Excel 的其它对象,包括应用程序对象和单元格集合.
2、GetObject方法 。
描述:从文件中检索一个 Automation 对象, 或检索strProgID 参数所指定的对象 语法:object.GetObject(strPathname [,strProgID], [strPrefix]) 参数:object必选项。WScript 对象。 strPathname必选项。包含要获取的对象的完整路径和名称。 strProgID可选项。表示对象的程序标识符(ProgID)的字符串。 strPrefix可选项。如果指定了参数 strPrefix,Windows 脚本宿 主将在创建对象之后把对象的输出接口与脚本文件连接起来。在对象中触发事件时,Windows 脚本宿主将调用一个子例程,其名称包括 strPrefix 和事件的名称.
例如,如果 strPrefix 为 "MYOBJ_",对象产生的事件为 "OnBegin,",那么 Windows 脚本宿主将调用脚本中的 "MYOBJ_OnBegin" 子例程.
说明:如果当前存在对象的实例或者希望使用已经被装载的文件创建对象,可使用 GetObject 方法。如果当前不存在实例,而且不希望从已经装载的文件中启动对象,请使用 CreateObject 方法.
如果一个对象将自己注册为单实例对象(例如,Microsoft Word 7.0 中的 Word.Basic 对象),那么无论执行 CreateObject 多少次也只能创建对象的一个实例。此外,对于单实例的对象,如果用零长度的字符串语法("")调用,GetObject 总是返回同样的实例,而且如果省略路径参数将导致错误。使用 GetObject 不能获得对 Visual Basic 4.0 以及以前版本创建的 Microsoft Visual Basic(R)类的引用.
GetObject 适用于所有的 COM 类,不受创建对象所用语言的限制.
示例:在执行下列代码时,与指定的 strPathname 相关联的应用程序被启动,指定文件中的对象被激活。 如果 strPathname 是一个零长度的字符串 (""), GetObject 将返回指定类型的新对象实例。如果 strPathname 参数完全被省略,GetObject 将返回指定类型的当前活动对象。如果不存在指定类型的对象,将发生错误.
1
2
3
|
Dim
MyObject
As
Object
Set
MyObject = GetObject(
"C:\CAD\SCHEMA.CAD"
)
MyApp = MyObject.Application
|
某些应用程序允许激活一个文件的某些部分。如果要这样做,需要在文件名后添加一个惊叹号 (!),然后跟一个字符串,标识出文件中希望被激活的部分。关于如何创建该字符串的信息,请参阅创建对象的应用程序的有关文档.
例如,在一个绘图应用程序中,文件中存储的一幅图可能包含多层。可以使用下面的代码激活绘图文件中称为 schema.cad 的一层:
Set LayerObject = GetObject("C:\CAD\SCHEMA.CAD!Layer3") 如果不指定对象的类,COM 将根据所提供的文件名来确定要启动的应用程序和要激活的对象。但是,某些文件可能支持多个对象类。例如,一幅图纸可能支持三种不同类型的对象:一个应用程序对象,一个绘图对象,以及一个工具栏对象,它们都是同一个文件的组成部分.
在下例中,FIGMENT 是一个绘图应用程序的名称,DRAWING 是它支持的对象类型之一.
Dim MyObject As Object Set MyObject = GetObject("C:\DRAWINGS\SAMPLE.DRW", "FIGMENT.DRAWING") 。
3、Quit 方法 。
描述:退出执行,返回指定的错误代码。 语法:object.Quit [intErrorCode] 解释:object 必选项。 WScript 对象。 intErrorCode可选项。如果包含此参数,WScript 将把它作为进程终止码返回。如果省略了 intErrorCode,WScript 将返回零 (0) 作为进程终止码。 例子: 下例退出执行并返回错误代码 1:
WScript.Quit 4、Sleep 方法 。
描述:使脚本进程在指定的毫秒数内处于非活动状态,然后继续执行。 语法:object.Sleep(intTime) 参数:object必选项。WScript 对象。 intTime脚本进程在非活动状态的时间长度,以毫秒为单位。 说明:在睡眠状态下,脚本将继续执行所处理的事件。如果脚本引擎超时或被中断,睡眠将立即结束。 例子:
1
2
3
|
wscript.sleep(3000)
Set
apprun = CreateObject(
"wscript.shell"
)
apprun.run
"%windir%\notepad.exe"
|
此例子将会延迟3秒启动记事本.
5、timeout 方法 。
描述:设置脚本的生存时间 语法:wscript.timeout 例子:
1
2
|
wscript.timeout = 10
MsgBox
"hello"
|
6、Echo 方法 。
描述:将输出发送到对话框或控制台。 语法:object.Echo [Arg1] [,Arg2] [,Arg3] ... 参数:object必选项。WScript 对象。 Arg1, Arg2, Arg3 ...所显示的项的列表。 说明:如果宿主为 WScript.exe,本方法将把输出显示在对话框中;如果宿主为 CScript.exe,结果将显示在控制台上。每一项将被一个空格隔开。 在 CScript.exe 下,输出的末尾被加上换行符。如果未提供任何项,显示的将是空行。 例子:
1
2
3
|
Set
fso = CreateObject(
"scripting.filesystemobject"
)
Set
f = fso.OpenTextFile(
"c:\test.txt"
)
wscript.echo f.ReadAll
|
将会显示这个文件里面的所有内容。这么看来,他的功能跟msgbox一样,不过不如他强大.
7、ConnectObject 方法 。
描述:将一个对象事件源连接到具有给定前缀的函数。 语法:object.ConnectObject strObject, strPrefix 参数:object必选项。WScript 对象。 strObject要连接的对象的名称。 strPrefix事件函数的前缀。 说明: 对象必须能够枚举自己类的事件集合.
例子:下例实例化了一个假想的对象,并将其连接到脚本文件。然后脚本调用该对象的 "SomeMethod" 方法。如果对象中发生了名为 "Event"的事件,将调用 MyEvent_Event 子例程.
1
2
3
4
5
6
7
|
Set
MyObject = WScript.CreateObject(
"SomeObject"
)
MyObject.SomeMethod
WScript.ConnectObject MyObject,
"MyEvent"
Sub
MyEvent_Event(strName)
WScript.Echo strName
End
Sub
WScript.DisconnectObject MyObject
|
8、DisconnectObject 方法 。
描述:将原先与 Windows 脚本宿主连接的对象断开。 语法:object.DisconnectObject obj 参数:object必选项。WScript 对象。 obj要断开连接的对象的名称。 说明: 如果所指定的对象尚未被连接到 Windows 脚本宿主,则此方法不起任何作用。 例子: 下例创建了一个假想的对象并将其连接到脚本文件。然后脚本调用对象的 "SomeMethod" 方法。如果对象中发生名为 "Event" 的错误,MyEvent_Event 子例程将被调用.
1
2
3
4
5
6
|
Set
MyObject = WScript.CreateObject(
"SomeObject"
,
"MyEvent"
)
MyObject.SomeMethod
Sub
MyEvent_Event(strName)
WScript.Echo strName
End
Sub
WScript.DisconnectObject MyObject
|
这篇文章就介绍到这了,需要的朋友可以参考一下.
最后此篇关于VBS基础篇 - wscript 对象详解的文章就讲到这里了,如果你想了解更多关于VBS基础篇 - wscript 对象详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在使用 Waf 构建一个项目。它有几个第三方依赖项,我想从我的主要 wscript 构建每个依赖项。我的项目是这样组织的: /boost/ /gtest/ /source/ /waf /wscri
我在 Javascript 中使用 ActiveXObject。 var shell = new ActiveXObject("WScript.Shell"); exec = shell.exec('
我正在使用Excel将一些文件上传到带有WinSCP的服务器上。此示例起作用:。现在,我希望Excel等到外壳关闭。。使用来自等待外壳命令完成的信息,我将其组合成以下代码:。不幸的是,这并不管用。Ex
特殊文件夹名称用于索引该集合以检索所需的特殊文件夹,文档中列出了下面的特殊文件夹: AllUsersDesktop AllUsersStartMenu AllUsersPrograms AllUs
我不了解VBScript,但是最近我需要编写一个具有SendKeys功能的脚本,而我无法在批处理文件中做到这一点。当我使用命令cscript test.vbs在Windows 7计算机中从命令提示符运
最近我在一个test.bat中看到这样的代码: @if (@This==@IsBatch) @then @echo off rem This is batch wscript //E:JScript
我正在尝试在本地运行一个 Javascript 文件,它应该使用 ImageMagick 创建一个 CSS 图像 Sprite 。它是 OpenID 选择器 JS 组件的一部分:http://code
我想使用 Windows 脚本宿主(wscript.exe 或 cscript.exe)执行由我的应用程序生成的简单 VBScript/JScript,而不生成临时脚本文件。 我没有找到从标准输入流读
1、wscript对象 描述:提供对 Windows 脚本宿主对象模型根对象的访问。 详述:WScript 对象是 Windows 脚本宿主对象模型层次结构的根对象。它可在任何脚本文件中使用,不
在windows2000下,IIS默认设置是可以web和可执行程序通信的。但是在2003下IIS关于这方面的服务是禁止的。 我现在遇到的问题是,利用web和一个带参数的可执行程序连接。并运行这个带
我试图检查注册表项是否存在,无论我尝试什么,我总是收到错误消息“无法打开注册表项进行读取” 我使用的代码: keyPath = "HKEY_LOCAL_MACHINE\\SOFTWARE\\BOS\\
我正在尝试编写一个VBScript,它将以文本文件或csv的形式列出系统上所有已安装的应用程序。我能够找到一个列出所有软件的现有代码(包括名称,版本,日期和大小)。当我当前运行它时,我发现它随着主机回
我正在使用 WScript通过使用 WScript.Shell 调用外部程序来自动化一些任务。 但是,现在它不会等待外部程序完成,而是继续前进。这会导致问题,因为我有一些任务依赖于其他人先完成。 我使
所以我试图通过嵌入在powershell脚本中的cscript.exe运行VBscript。它会因允许错误而不断出错。在调试代码时,我意识到确切的命令不会在cscript或wscript中运行,而是从
嗨,我刚刚发现了 Wscript,我尝试运行一个在浏览器上运行的脚本,但出现了上述错误,我明白问题是什么,但我想问是否有一种方法可以定义文档对象(html 文件和 cookies)可能来自命令提示符,
目前,WScript 在出现脚本错误时会弹出消息框。这些脚本由其他进程调用,并在服务器上运行,因此没有人可以忽略错误框。 我想要的是将错误消息转储到 STDOUT,并执行以返回调用进程。作为 MSGB
我正在运行 Word 2013 中的 VBA 宏。我正在尝试运行需要文件名参数/参数的可执行文件。例如,c:\myfilefilter.exe filetobefiltered.htm 我想使用She
我希望使用 Javascript 执行以下操作,这是我的完整 JS 文件 (test.js): var xo = WScript.CreateObject("Msxml2.XMLHTTP"); var
如果我在 IE9 (win7) 中尝试它,那么它工作得很好,但是当我尝试在 IE8、7、6 (winXP) 中运行这段代码时,调试器写道,它无法创建对象。 var wscript = new Acti
我正在使用此代码:通过单击浏览器中的按钮来创建新文件夹, function exer() { var wsr = WScript.CreateObject("WScript.Shell");
我是一名优秀的程序员,十分优秀!