• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    VBS基础篇 - vbscript Dictionary对象

    发布者: 琛瑞6678 | 发布时间: 2025-8-14 01:45| 查看数: 82| 评论数: 0|帖子模式

    Dictionary是存储数据键和项目对的对象,其主要属性有Count、Item、Key,主要方法有Add、Exists、Items、Keys、Remove、RemoveAll。
    创建Dictionary对象 
    1. '定义并创建Dictionary对象,使用CreateObject创建并返回自动化对象的引用
    2. Dim Dic
    3. Set Dic = CreateObject("Scripting.Dictionary")
    复制代码
    添加键值 
    1. Dim Dic
    2. Set Dic = CreateObject("Scripting.Dictionary")
    3. '向Dictionary对象中添加键值对
    4. Dic.Add "Name", "Sirrah" 'Add方法第一个参数是Key值,第二个是Item值
    5. Dic.Add "Age", 23  
    复制代码
    删除键值   
    1. Dim Dic
    2. Set Dic = CreateObject("Scripting.Dictionary")
    3. Dic.Add "Name", "Sirrah" '向Dictionary对象中添加键值对
    4. Dic.Add "Age", 23
    5. Dic.Item("Age") = 22 '修改键Age的值
    6. MsgBox Dic.Item("Age") '输出22
    复制代码
    判断键是否存在  
    1. Dim Dic
    2. Set Dic = CreateObject("Scripting.Dictionary")
    3. Dic.Add "Name", "Sirrah" '向Dictionary对象中添加键值对
    4. Dic.Add "Age", 23
    5. MsgBox Dic.Exists("Age") '判断键是否存在 
    复制代码
    输出所有键值
    输出Dictionary对象所有键值,这边将介绍2种常用的循环方法,具体代码如下:
    1. Dim Dic,Dics
    2. Set Dic = CreateObject("Scripting.Dictionary")
    3. Dic.Add "Name", "Sirrah" '向Dictionary对象中添加键值对
    4. Dic.Add "Age", 23
    5. Dics = dic.Items 'Items返回一个包含所有Item值的数组
    6. For i = 0 To dic.Count - 1 'Count返回Dictionary对象键数目
    7. str = str & Dics(i) & vbCrlf
    8. Next
    9. MsgBox(str)
    10. Dim Dic,Dics
    11. Set Dics = CreateObject("Scripting.Dictionary")
    12. Dics.Add "Name", "Sirrah" '向Dictionary对象中添加键值对
    13. Dics.Add "Age", 23
    14. For Each Dic In Dics '循环遍历Dictionary键,并输出键值
    15. MsgBox Dics.Item(Dic)
    16. Next
    复制代码
    补充一个实例
    脚本文件:a.vbs,包含字典的添加、删除、判断键是否存在、修改键、修改值、遍历、统计键值对个数
    1. '建立字典
    2. Dim Dict : Set Dict = CreateObject("Scripting.Dictionary")

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

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

    9. WScript.Echo

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

    16. If Dict.Exists("Keyn") Then
    17. WScript.Echo "Keyn 存在!"
    18. Else
    19. WScript.Echo "Keyn 不存在!"
    20. End If

    21. WScript.Echo

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

    33. TraverseDict

    34. WScript.Echo

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

    39. WScript.Echo

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

    43. WScript.Echo

    44. '删除全部键
    45. Dict.RemoveAll
    46. WScript.Echo "字典中现有键值对数量: " & Dict.Count
    复制代码
    调用方法:通过双击a.bat调用,a.bat代码如下:
    1. cscript a.vbs
    2. pause
    复制代码
    运行结果截图:


    来源:互联网
    免责声明:如果侵犯了您的权益,请联系站长(1277306191@qq.com),我们会及时删除侵权内容,谢谢合作!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表