iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么在VBS中实现wscript 对象
  • 519
分享到

怎么在VBS中实现wscript 对象

2023-06-08 08:06:48 519人浏览 独家记忆
摘要

今天就跟大家聊聊有关怎么在VBS中实现wscript 对象,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、wscript对象描述:提供对 windows 脚本宿主对象模型根对象的访

今天就跟大家聊聊有关怎么在VBS中实现wscript 对象,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

一、wscript对象

描述:提供对 windows 脚本宿主对象模型根对象的访问。
详述:WScript 对象是 Windows 脚本宿主对象模型层次结构的根对象。它可在任何脚本文件中使用,不需要特定的声明。
        WScript 对象提供对以下信息的访问命令行参数, 脚本文件的名称,宿主文件名, 宿主版本信息。
        WScript 对象可用来创建对象,连接对象, 与对象断开连接, 同步事件, 以编程方式停止脚本的执行,将信息输出到默认输出设备(Windows 对话框或命令控制台)。

        WScript 对象也可用来设置脚本运行的模式(交互模式或批处理模式)。
        就像刚才我们说的一样,对象通过两种其自有的特性想我们提供工具,这两种特性分别是“属性”和“方法”。

二、属性

1、Arguments 属性

描述:用于返回 Arguments 对象(这个对象我们以后会学,现在只需要了解就行)。
语法:object.Arguments
参数:object ,WScript 对象

例子:显示本vbs文件运行的参数

Set Arg = WScript.ArgumentsFor 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

三、方法

CreateObject方法

描述:创建一个对象
语法:CreateObject(appname.objecttype,[servername])
解释:appname 必需的,Variant(字符串)。提供该对象的应用程序名。
        objecttype 必需的;Variant(字符串)。待创建对象的类型或类。
        servername 可选的; Variant (String). 要在其上创建对象的网络服务器名称。
说明:要创建 ActiveX 对象,只需将 CreateObject 返回的对象赋给一个对象变量:
   Set excelSheet = CreateObject("Excel.Sheet")'的引用。
每个支持自动化的应用程序都至少提供一种对象类型。

例如,一个字处理应用程序可能会提供 Application 对象,Document 对象,以及 Toolbar 对象。要创建 ActiveX 对象,只需将 CreateObject 返回的对象赋给一个对象变量:

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 将返回指定类型的当前活动对象。如果不存在指定类型的对象,将发生错误。

Dim MyObject As ObjectSet 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脚本进程在非活动状态的时间长度,以毫秒为单位。
说明:在睡眠状态下,脚本将继续执行所处理的事件。如果脚本引擎超时或被中断,睡眠将立即结束。
例子:

wscript.sleep(3000)Set apprun = CreateObject("wscript.shell")apprun.run "%windir%\notepad.exe"

此例子将会延迟3秒启动记事本。

5、timeout 方法

描述:设置脚本的生存时间
语法:wscript.timeout
例子:

wscript.timeout = 10MsgBox "hello"

6、Echo 方法

描述:将输出发送到对话框或控制台。
语法:object.Echo [Arg1] [,Arg2] [,Arg3] ...
参数:object必选项。WScript 对象。
        Arg1, Arg2, Arg3 ...所显示的项的列表。
说明:如果宿主为 WScript.exe,本方法将把输出显示在对话框中;如果宿主为 CScript.exe,结果将显示在控制台上。每一项将被一个空格隔开。 在 CScript.exe 下,输出的末尾被加上换行符。如果未提供任何项,显示的将是空行。
例子:

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 子例程。

Set MyObject = WScript.CreateObject("SomeObject")MyObject.SomeMethodWScript.ConnectObject MyObject, "MyEvent"Sub MyEvent_Event(strName)  WScript.Echo strNameEnd SubWScript.DisconnectObject MyObject

8、DisconnectObject 方法

描述:将原先与 Windows 脚本宿主连接的对象断开。
语法:object.DisconnectObject obj
参数:object必选项。WScript 对象。
   obj要断开连接的对象的名称。
说明:
如果所指定的对象尚未被连接到 Windows 脚本宿主,则此方法不起任何作用。
例子:
下例创建了一个假想的对象并将其连接到脚本文件。然后脚本调用对象的 "SomeMethod" 方法。如果对象中发生名为 "Event" 的错误,MyEvent_Event 子例程将被调用。

Set MyObject = WScript.CreateObject("SomeObject", "MyEvent")MyObject.SomeMethodSub MyEvent_Event(strName)  WScript.Echo strNameEnd SubWScript.DisconnectObject MyObject

看完上述内容,你们对怎么在VBS中实现wscript 对象有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网精选频道,感谢大家的支持。

--结束END--

本文标题: 怎么在VBS中实现wscript 对象

本文链接: https://www.lsjlt.com/news/253082.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在VBS中实现wscript 对象
    今天就跟大家聊聊有关怎么在VBS中实现wscript 对象,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、wscript对象描述:提供对 Windows 脚本宿主对象模型根对象的访...
    99+
    2023-06-08
  • VBS中FileSystemObject对象怎么使用
    在VBS中,可以通过以下步骤来创建和使用FileSystemObject对象:1. 首先,在VBScript代码中创建一个FileS...
    99+
    2023-08-12
    VBS FileSystemObject
  • VBS中怎么调用CAPICOM对象
    VBS中怎么调用CAPICOM对象,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 代码如下:Const CAPICOM_HASH_ALGORITHM_M...
    99+
    2023-06-08
  • 如何在VBS中使用Err对象
    如何在VBS中使用Err对象?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Err对象是一个具有全局范围的内部对象,含有关于错误的所有信息。On Error Resume nex...
    99+
    2023-06-08
  • 怎么在VBS中实现循环
    本篇文章为大家展示了怎么在VBS中实现循环,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。For...Next:指定循环次数,使用计数器重复运行语句Do...Loop:当条件为 true 或者直到条件...
    99+
    2023-06-08
  • 怎么在JavaScript中实现对象深拷贝
    这篇文章给大家介绍怎么在JavaScript中实现对象深拷贝,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。JavaScript是什么JS是JavaScript的简称,它是一种直译式的脚本语言,其解释器被称为JavaSc...
    99+
    2023-06-14
  • 怎么在python中实现对象持久化
    这期内容当中小编将会给大家带来有关怎么在python中实现对象持久化,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WEB前端开发,...
    99+
    2023-06-14
  • VBS中FileSystemObject对象有什么用
    这篇文章给大家介绍VBS中FileSystemObject对象有什么用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。FileSystemObject对象概述FileSystemObject 对象的作用:提供对计算机文件...
    99+
    2023-06-08
  • 怎么在VBS中实现vbscript堆栈
    今天就跟大家聊聊有关怎么在VBS中实现vbscript堆栈,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。脚本文件:d.vbs,包含堆栈的添加元素(压栈)、删除元素(出栈)、遍历、统计...
    99+
    2023-06-08
  • Java中对象池怎么实现
    这篇“Java中对象池怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java中对象池怎么实现”文章吧。1. 什么是对...
    99+
    2023-07-02
  • VBS中怎么创建正则表达式对象
    VBS中怎么创建正则表达式对象,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一直以来,我都是用 New RegExp 来创建正则表达式对象的: Set regex = New ...
    99+
    2023-06-08
  • 怎么在Java中实现实体对象的三种状态
    怎么在Java中实现实体对象的三种状态?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;3. ...
    99+
    2023-05-30
    java
  • VB.NET中怎么实现对象存储
    本篇文章为大家展示了VB.NET中怎么实现对象存储,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。VB.NET对象存储采用BinaryFormatte以二进制的形式,或者用SoapFormatter类...
    99+
    2023-06-17
  • Go中怎么实现面向对象
    这篇文章主要为大家展示了“Go中怎么实现面向对象”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Go中怎么实现面向对象”这篇文章吧。在大家初识 Go 语言时,总会拿其他语言的基本特性来类比 Go ...
    99+
    2023-06-15
  • VBS中FileSystemObject对象的作用是什么
    VBS中FileSystemObject对象的作用是什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。FileSystemObject对象概述FileSystemObjec...
    99+
    2023-06-08
  • C++中怎么实现对象复制
    今天就跟大家聊聊有关C++中怎么实现对象复制,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。C++对象复制代码示例:class Table{  Name&...
    99+
    2023-06-17
  • VB.NET中怎么实现对象克隆
    VB.NET中怎么实现对象克隆,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在3DMAX里面,做好一个物体(父物体)以后,可以选择Edit菜单中的Clone,下面有三中选项...
    99+
    2023-06-17
  • VBS怎么用Class语句创建对象
    这篇文章主要讲解了“VBS怎么用Class语句创建对象”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“VBS怎么用Class语句创建对象”吧!Class 对象使用 Class 语句创建的对象。...
    99+
    2023-06-08
  • 怎么在vbs中实现一个tasklist效果
    怎么在vbs中实现一个tasklist效果?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。核心代码Option explicit If righ&#...
    99+
    2023-06-08
  • VBS中TextStream对象的作用是什么
    这篇文章将为大家详细讲解有关VBS中TextStream对象的作用是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。TextStream对象是用于访问文本文件的对象,它是FileSyste...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作