VBS基础篇 - vbscript Dictionary对象

所属分类: 脚本专栏 / vbs 阅读数: 1801
收藏 0 赞 0 分享

Dictionary是存储数据键和项目对的对象,其主要属性有Count、Item、Key,主要方法有Add、Exists、Items、Keys、Remove、RemoveAll。
创建Dictionary对象 

'定义并创建Dictionary对象,使用CreateObject创建并返回自动化对象的引用
Dim Dic
Set Dic = CreateObject("Scripting.Dictionary")

添加键值 

Dim Dic
Set Dic = CreateObject("Scripting.Dictionary")
'向Dictionary对象中添加键值对
Dic.Add "Name", "Sirrah" 'Add方法第一个参数是Key值,第二个是Item值
Dic.Add "Age", 23  

删除键值   

Dim Dic
Set Dic = CreateObject("Scripting.Dictionary")
Dic.Add "Name", "Sirrah" '向Dictionary对象中添加键值对
Dic.Add "Age", 23
Dic.Item("Age") = 22 '修改键Age的值
MsgBox Dic.Item("Age") '输出22 

判断键是否存在  

Dim Dic
Set Dic = CreateObject("Scripting.Dictionary")
Dic.Add "Name", "Sirrah" '向Dictionary对象中添加键值对
Dic.Add "Age", 23
MsgBox Dic.Exists("Age") '判断键是否存在 

输出所有键值
输出Dictionary对象所有键值,这边将介绍2种常用的循环方法,具体代码如下:

Dim Dic,Dics
Set Dic = CreateObject("Scripting.Dictionary")
Dic.Add "Name", "Sirrah" '向Dictionary对象中添加键值对
Dic.Add "Age", 23
Dics = dic.Items 'Items返回一个包含所有Item值的数组
For i = 0 To dic.Count - 1 'Count返回Dictionary对象键数目
 str = str & Dics(i) & vbCrlf
Next
MsgBox(str)
Dim Dic,Dics
Set Dics = CreateObject("Scripting.Dictionary")
Dics.Add "Name", "Sirrah" '向Dictionary对象中添加键值对
Dics.Add "Age", 23
For Each Dic In Dics '循环遍历Dictionary键,并输出键值
 MsgBox Dics.Item(Dic)
Next

补充一个实例

脚本文件:a.vbs,包含字典的添加、删除、判断键是否存在、修改键、修改值、遍历、统计键值对个数

'建立字典
Dim Dict : Set Dict = CreateObject("Scripting.Dictionary")

'添加键值对
Dict.Add "Key1", "Item1"
Dict.Add "Key2", "Item2"
Dict.Add "Key3", "Item3"

'字典中键值对数量
WScript.Echo "字典中现有键值对数量: " & Dict.Count '让一个脚本在屏幕上显示文本信息

WScript.Echo 

'检查指定键是否存在
If Dict.Exists("Key1") Then
 WScript.Echo "Key1 存在!"
Else
 WScript.Echo "Key1 不存在!"
End If

If Dict.Exists("Keyn") Then
 WScript.Echo "Keyn 存在!"
Else
 WScript.Echo "Keyn 不存在!"
End If

WScript.Echo 

'遍历字典
Sub TraverseDict
 Dim DictKeys, DictItems, Counter
 DictKeys = Dict.Keys
 DictItems = Dict.Items 'Items返回一个包含所有Item值的数组
 For Counter = 0 To Dict.Count - 1 'Count返回Dictionary对象键数目
 WScript.Echo _
  "键: " & DictKeys(Counter) & _ '& 字符串连接运算符
  "值: " & DictItems(Counter)
 Next
End Sub

TraverseDict

WScript.Echo 

'在一个键值对中,修改键或修改值
Dict.Key("Key2") = "Keyx"
Dict.Item("Key1") = "Itemx"
TraverseDict

WScript.Echo 

'删除指定键
Dict.Remove("Key3")
TraverseDict

WScript.Echo 

'删除全部键
Dict.RemoveAll
WScript.Echo "字典中现有键值对数量: " & Dict.Count

调用方法:通过双击a.bat调用,a.bat代码如下:

cscript a.vbs
pause

运行结果截图:

更多精彩内容其他人还在看

运行vbs脚本报错无效字符、中文乱码的解决方法(编码问题)

今天在写一个vbs的时候,发现中文乱码,后来写好代码正常运行的代码压缩一下给了同事,发现报无效字符,经过验证后发现原来是编码的问题导致,这里就为大家分享一下
收藏 0 赞 0 分享

VBS打开当前脚本所在文件夹

有时候我们需要获取当前vbs脚本所在的文件夹,或者运行当前脚本文件夹中的文件那么就需要参考下面的代码了
收藏 0 赞 0 分享

vbs 读写注册表之系统启动项添加与删除

这篇文章主要介绍了vbs 读写注册表之系统启动项添加值,需要的朋友可以参考下
收藏 0 赞 0 分享

拖拽文件显示文件路径的vbs代码

这篇文章主要介绍了拖拽文件显示文件路径的vbs代码,需要的朋友可以参考下
收藏 0 赞 0 分享

VBS遍历Excel工作表的实现代码

这篇文章主要介绍了VBS遍历Excel工作表的实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

使用VBS浏览本地文件的3种方式,获取完整路径

这篇文章主要介绍了使用VBS浏览本地文件的3种方式,获取完整路径,需要的朋友可以参考下
收藏 0 赞 0 分享

VBS进程判断代码

这篇文章主要介绍了VBS进程判断代码,用来检测windows的某个进程是否正常运行,之前脚本之家分享过bat中判断进程的代码
收藏 0 赞 0 分享

VBS遍历文件或文件夹路径输入文件的所有绝对路径(附源码)

这篇文章主要介绍了VBS遍历文件或文件夹路径输入文件的所有绝对路径的代码,需要的朋友可以参考下
收藏 0 赞 0 分享

ActiveX部件不能创建对象:dm.dmsoft代码:800A01AD

vbs调用插件报:ActiveX部件不能创建对象,代码:800A01AD,一般是因为病毒导致dll文件丢失或者64系统问题导致,需要的朋友可以参考下
收藏 0 赞 0 分享

vbs ping实现的两种方式

这篇文章主要介绍了vbs ping实现的两种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享
查看更多