会员登录 立即注册

搜索

开启左侧

[其它] 脚本编程学习——VBS

[复制链接]
etthink 发表于 2018-4-8 13:45:55 | 显示全部楼层 |阅读模式
etthink
2018-4-8 13:45:55 491 2 看全部
六安金安赵国庆老师建议重新设计信息化助手打包,更方便教师使用其中工具,原使用文件夹、链接管理,需要两步,且不直观,很多教师找不到原来程序,且依赖安装解压路径。所以开始VBS脚本学习,用来处理文件管理及链接创建问题。
vbs优势:windows内置,无需运行和编译环境及工具,虽然只是一个命名为.vbs的文本文件,但却能直接调用windows系统中的功能及组件,非常适合做一些重复、自动化操作,我理解类似于以前接触的.bat批处理文件,或.cmd,有什么差异还不清楚。
学习实例及问题
  1. 1、Dim声明变量,没有变量类型,并且不支持在声明时对变量赋值,使用时可以将变量转换为指定类型:
  2. Cbool函数将变量转换成布尔值。<p>Cbyte函数将变量转换为0到255之间的整数。</p>
  3. Ccur函数、Cdbl函数和Csng函数将变量转换为浮点数值,前者只精确到小数点后四位,后两者要更加精确,数值的范围也要大的多。
  4. Cdate函数将变量转换为日期值。
  5. Cint函数和Clng函数将变量转换为整数,后者的范围比前者要大的多。
  6. Cstr函数将变量转换为字符串。
  7. 2、inputbox是VBS内建的函数,可以接受输入的内容,其语法格式为:Inputbox("对话框内容","对话框标题")
  8. 3、Msgbox语法:msgbox  "对话框内容", , "对话框的标题"
  9. 4、CreateObject 通过它来处理外部文件
  10. 5、WSH内置对象
  11. (1)Scripting.FileSystemObject  —>  提供一整套文件系统操作函数
  12. (2)Scripting.Dictionary  —>  用来返回存放键值对的字典对象
  13. (3)Wscript.Shell  —>  提供一套读取系统信息的函数,如读写注册表、查找指定文件的路径、读取DOS环境变量,读取链接中的设置。比如注册表的读、写、删除就是regread、regwrite、regdelete
  14. (4)Wscript.NetWork  —>  提供网络连接和远程打印机管理的函数。(其中,所有Scripting对象都存放在SCRRUN.DLL文件中,所有的Wscript对象都存放在WSHOM.ocx文件中。)
  15. 6、在脚本的开头添加On  Error Resume  Next ,这行语句告诉vbs在运行时跳过发生错误的语句,紧接着执行跟在它后面的语句。
复制代码
案例1:按顺序打开外部文件
  1. Set objShell = CreateObject("Wscript.Shell")
  2. objShell.Run "notepad" ,,true
  3. objShell.Run "calc"
复制代码
脚本的功能是先打开记事本,关闭记事本后自动打开计算器。run函数有三个参数,第一个参数是你要执行的程序的路径,第二个程序是窗口的形式,0是在后台运行;1表示正常运行;2表示激活程序并且显示为最小化;3表示激活程序并且显示为最大化; 第三个参数是表示这个脚本是等待还是继续执行,如果设为了true,脚本就会等待调用的程序退出后再向后执行
案例2:注册表
1、读注册表的关键词和值:
可以通过把关键词的完整路径传递给wshshell对象的regread方法。例如:
set ws=wscript.createobject("wscript.shell")
v=ws.regread("HKLM\Software\7-Zip\Path ")
wscript.echo v
2、写注册表
使用wshshell对象的regwrite方法。例子:
path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\"
set ws=wscript.createobject("wscript.shell")
t=ws.regwrite(path & "jj","hello")
这样就把
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\jj这个键值改成了hello.不过要注意:这个键值一定要预先存在。
如果要创建一个新的关键词,同样也是用这个方法。
path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\run\sssa2000\love\"
set ws=wscript.createobject("wscript.shell")
val=ws.regwrite(path,"nenboy")
val=ws.regread(path)
wscript.echo val
3、删除关键字和值
使用regdelete方法,把完整的路径传递给regdelete就可以了
例如
val=ws.regdel(path)
注意,如果要删除关键词的值的话 一定要在路径最后加上"\",如果不加斜线,就会删除整个关键词。



欢迎大家多发帖,参与讨论,增进彼此了解。
GoodTsing 发表于 2018-4-10 10:02:51 | 显示全部楼层
GoodTsing
2018-4-10 10:02:51 看全部
孙老师如此勤奋,点个大大的赞。
欢迎大家多发帖,参与讨论,增进彼此了解。
 楼主| etthink 发表于 2018-8-9 22:08:08 | 显示全部楼层
etthink
2018-8-9 22:08:08 看全部
  1. @echo off
  2. :startx
  3. cls
  4. arp -a
  5. start iexplore.exe www.bitpacket.cn
  6. ping 127.0.0.1 -n 5 >nul 2>nul
  7. taskkill /f /im iexplore.exe
  8. goto startx
复制代码
    @echo off 关闭回显,多余的提示信息一个都不要。

    :startx是批处理里的标号,指示位置,是跳转的入口地址。

    cls 清理屏幕

    arp -a 显示当前系统的arp表

    start iexplore.exe www.bitpacket.cn  打开IE并使其打开www.bitpacket.cn,加start是为了避免批处理被阻塞,你去掉start就知道什么叫阻塞。

    ping 127.0.0.1 -n 5 是用ping实现5秒延迟,当然这个5秒很不精确,后面的 >nul 是为了让错误消息不出现  2>nul 是为了让正确提示也不出现,总之就是灭口。

    taskkill  用来杀掉进程,/f 为强制 /.im 后面是跟的进程名称。

    goto startx 就是让他跑到标号那里继续执行。


欢迎大家多发帖,参与讨论,增进彼此了解。
  • 您可能感兴趣
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 返回列表

查看:491 | 回复:2

教育技术论坛,教育技术人交流的专业社区,专注于教育技术应用与推广!让更多的人了解教育技术,用好教育技术!
关于我们
社区简介
发展历程
联系我们
社区管理
新手指南
申请版主
申请开店
赞助我们
微信赞助
支付宝赞助

官方微信

手机版

手机APP

关于我们| 站点统计| Archiver| 手机版| 小黑屋| 帮助| 教育技术论坛  
联系电话:13355549901 地址:安徽省淮南市田家庵区朝阳街道 邮箱:sf@etthink.com ICP备案号: ( 皖ICP备10014945号 )
Copyright © 2001-2013 Comsenz Inc. All Rights Reserved.   Powered by Discuz! X3.2
快速回复 返回顶部 返回列表