灵活实用VBS入门教程应用篇_vbs

上一篇文章我们了解了VBS编程的一些基础知识,要更深入地学习还要学习选择结构和循环结构。

  选择结构

  选择结构,即是对条件进行判断,然后根据判断的结果,选择执行不同的分支的结构。常见的有IF条件语句和Select Case语句。

  ●IF条件语句
  IF条件语句又有多种具体的形式,如If…Then、If…Then…Else、If…Then…ElseIf。下面分别用例程来说明。用笔记本编写一个如下内容的VBS脚本:

  dim a,b
  a=inputbox("输入第一个数字","输入")
  b=inputbox("输入第二个数字","输入")
  if a>b then
  MsgBox("第一个数大于第二个数")
  End if

  运行后,要求用户输入两个数字,第一个数字的值赋给a,第二个数字的值赋给b,然后程序自动判断a和b,如果a的值大于b的值,就弹出信息提示框,显示“第一个数大于第二个数”。注意:then后面的语句不与then在同一行时,判断语句结束后要加一行End if来结束,否则程序会结束。如果是同一行的就不用再加上End if了,如上面的语句可改为:
  dim a,b
  a=inputbox("输入第一个数字","输入")
  b=inputbox("输入第二个数字","输入")
  if a>b then MsgBox("第一个数大于第二个数")
  另外一个程序中可以用多个If语句,我们可以把上面的程序完善一下如下:
  dim a,b
  a=inputbox("输入第一个数字","输入")
  b=inputbox("输入第二个数字","输入")
  If a>b then
  MsgBox("第一个数大于第二个数")
  End if
  If a=b then
  MsgBox(“第一个数等于第二个数”)
  End if
  If a<b then
  MsgBox(“第一个数小于第二个数”)
  End if
  我们也可以再换用IF的其它语句If…Then…Else和If…Then….Elseif来实现相同的作用,如下:
  dim a,b
  a=inputbox("输入第一个数字","输入")
  b=inputbox("输入第二个数字","输入")
  If a>b then
  MsgBox("第一个数大于第二个数")
  Else
  IF a=b then
  MsgBox(“第一个数等于第二个数”)
  Else 
  MsgBox(“第一个数小于第二个数”)
  End if
  End if
  ――――――――――――――――――――――――――――――――――――――
  dim a,b
  a=inputbox("输入第一个数字","输入")
  b=inputbox("输入第二个数字","输入")
  If a>b then
  MsgBox("第一个数大于第二个数")
  Elseif a=b then
  MsgBox(“第一个数等于第二个数”)
  Else
  MsgBox(“第一个数小于第二个数”)
  End if
  
  ●Select Case语句
  Select Case语句是多分支结构的另一种表示形式,它具有表示直观的特点,结构简单,不容易导致混乱,它的语法形式如下:
  Select Case 变量或表达式
  Case 表达式1
   语句1
  Case 表达式2
   语句2
  End Select

  现在我们用Select Case语句来写一个数字转换成英文的程序,体验一下Select Case的优点,Let's go!!!

  dim a
  a=inputbox("输入一个数字","输入")
  Select Case a
   Case 1 
   MsgBox("你输入的数英文是One")
   Case 2
   MsgBox("你输入的数英文是Two")
   Case 3
   MsgBox("你输入的数英文是Tree")
   Case 4
   MsgBox("你输入的数英文是Four")
  End Select

  从上面,是不是觉得Select Case语句很直观呢,如果用If语句的话,肯定会很混乱,甚至会把人都给看晕了。还要注意的是无论是条件语句有多少个分支,只要一个分支执行了,其余的分支就不再执行。
  
  循环结构

  ●For循环语句
  For语句是用来控制循环次数已知的循环结构的,语句如下:
   For 循环变量=初值 To 终值 [步长]
    语句
  [Exit for] '退出循环语句
  Next
  现在我们编写一个计算从1加到100的整数和的程序,深入去了解For的用法,程序内容如下:

  dim s
  s=0
  for i=1 to 100
  s=s+i
  next
  msgbox(s)

  这段程序也是经典的程序之一,它首先声明了一个变量S,然后给S赋个初始值0,for i=1 to 100语句让i随着每一次循环加1,循环体内的语句s=s+i也随着i的增加进行累加,一直加到i=100时结束循环。Next语句让循环体进入下一次循环。
  
  ●Do…loop循环语句
  For循环语句用于控制循环次数已知的循环,而Do…loop则是用于控制次数未知的循环,根据设定的条件控制循环。它有两种形式,一种是先判断后执行,另一形式是先执行后判断。
  先判断后执行语法形式:
  Do [while/until 条件]
    语句
  [Exit Do] ‘退出循环
  Loop
  
  先执行后判断语法形式:
  Do
   语句
  [Exit Do]
  Loop [while/until 条件]
  下面我们用Do…Loop语句来改写上面的计算1到100的整数和的程序,如下:

  先执行后判断式
  dim s
  s=0
  i=0
  do
  i=i+1
  s=s+i
  loop until i>=100
  msgbox(s)

  先判断后执行式:
  dim s
  s=0
  i=0
  do while s<100
  i=i+1
  s=s+i
  loop
  msgbox(s)

  这两段程序很简单,很容易理解,在此就不再赘述了。
  至此,VBS重要的语法结构以及语句已经粗略学习完毕,要更加深入细致系统地去研究,最好找相关的书籍看一下。下面将正式进行VBS编程网吧实战阶段。

实战篇

  进行“实战”前我们先来理解什么是Shell对象和WSH。Shell对象就是微软对一些常用外壳操作函数的封装。象打开或浏览一个文件夹、查找文件、关闭计算机等等,而且还能浏览整个文件系统,获取文件或文件夹的各种信息。由于这些封装是建立在OLE自动化服务的基础之上,所以我们可以在VB、Web和VBS中方便的使用它们。WSH是Windows Script Host的缩写形式,WSH是Windows平台的脚本指令,它的功能十分强大,并且它利用JS和VBS脚本语言,来实现其卓越的功能的,除了修改注册表之外,它还可以访问Excel文件,也能与网络沟通,当然它最大的优势莫过于它能与操作系统沟通,而修改注册表只是它与操作系统沟通的冰山一角。正是它有如此诸多的优点与实用性,正倍受很多Windows用户的青睐。

  上面说了WSH利用VBS可以修改系统注册表,但必须先创建一个能与操作系统沟通的对象,再利用该对象的各种方法对注册表进行操作,创建这个对象的方法和格式如下:

  Dim OperateReg
  Set OperateReg=WScript.CreateObject("WScript.Shell")
  上面第一行声明了一个变量,而第二行则是利用声明的变量创建一个能与操作系统沟通的Shell对象OperateReg。

  下面就来利用Shell对象来关闭一些会给网吧机子带来安全隐患的服务吧。

  关闭默认共享
  set ds=createobject("wscript.shell")
  ds.run "net stop server /y"

  关闭WMI服务
  set swmi=createobject("wscript.shell")
  swmi.run "net stop wmI /y"

  禁用GUEST用户
  set sg=createobject("wscript.shell")
  sg.run "net user guest /active:NO"

  关闭telnet服务
  set st=createobject("wscript.shell")
  st.run "net stop telnet"
  
  利用VBS 实现开机BAT延时和无黑屏
  如果我们开机要执行名为bar.bat的批处理文件在远程服务器\\server\new\ 中那么就在客户机的C盘根目录下建个批处理,将他命名为run.bat,内容如下:
  ping 127.0.0.1 -n 10  (10表示你要延时的秒数 自己根据需要进行设置)
  call \\server\new\bar.bat
  
  保存后再在同目录下建个文本写上 
  set nb=createobject("wscript.shell")
  nb.run "run.bat /start",0
  保存成VBS文件然后将此文件加入到启动项,重启BAT延时和无黑屏就这样实现了。

  以上都是VBS的一些简单的编程而已,如果能把VBS学到精通的话,你会发现它的功能非常的强大,很多复杂的功能都可以通过它来实现。现在很多网管都很乐于采用VBS编程来对网吧的机器进行管理。本系列三篇文章仅仅是对VBS进行了简单的了解和实例应用,大家要想更深入地去学习,还要靠平时的努力和积累,最后,祝大家早日可以把VBS学得炉火纯青。

时间: 2024-10-24 22:38:39

灵活实用VBS入门教程应用篇_vbs的相关文章

灵活实用的VBS入门教程基础篇_vbs

我们常听说VBS功能很强大,也很简单,大家是否也想了解VBS呢,现在让我们一起来学习VBS吧. VBS只是英文的缩写而已,全称是Visual Basic Script Edition,也就是说VBS是Visual Basic的脚本版,很多人说VBS是VB的一个子集.因为VBS在编程语法.函数上基本上与Visual Basic是一致的.Visual Basic能实现的一般功能,VBS同样也可以实现,实现的过程也比Visual Basic容易,因为只要一个文本编辑器就可以完成VBS编程了,而且Win

土人AS入门教程语法篇

教程|入门教程|语法 AS 语法篇 ----------------------------------- 看过我的第一个教程--基础篇之后,现在你对AS的存在位子有了一定的概念了吧?如果还没有,那么去复习一下吧 土人系列AS入门教程--基础篇 接下来我要讲的是AS的语法. 首先要让大家明白的是: AS 语法的大小写是敏感的. 如: gotoAndPlay() 正确 gotoAndplay() 错误 . 关键字的拼写必须和语法一致,要做到很容易,因为在Flash的AS面板里面,关键字会有不一样的

javascript入门教程基础篇_javascript技巧

一. 简介 1. 什么是javascript JavaScript 是网景(Netscape)公司开发的一种基于客户端浏览器.面向(基于)对象.事件驱动式的网页脚本语言. 2. 为什么要使用javascript 表单验证 网页特效 小游戏 Ajax 3.快速入门 在程序中,如果想编写js代码,有两种办法: 1)在html文件中,在一对script标记中,直接编写 <script language='javascript'> document.write('hello'); </scrip

土人AS入门教程对象篇

对象|教程|入门教程 虽然AS不是真正的面向对象的编程,但是它也有对象的概念.这个概念贯穿整个AS的始终,所以,对对象的理解,比对语法或者其他的理解更为重要.现在开始吧: 首先,我们来了解一下路径,路径分两种:绝对路径和相对路径.做过html的朋友应该知道这个概念.但这里我还是要详细解释一下,我认为对路径的理解要深入,我初学的时候就是磕在路径上. 在讲路径之前,有必要先讲一下 .语法 : 举例说明,这里要表示房间里的桌子上的一本书,用 .语法这么表示: 房间.桌子.书 如果要再细到书上的页上面的

土人AS入门教程基础篇

教程|入门教程 AS基础 ----------------------------------- 做过Flash动画的Flash爱好者们都知道,要做好一个Flash动画,AS是必不可少的,即使只是很简单的几句代码也能起到整个Flash画龙点睛的作用.这里我只简单的介绍一下AS的基本常识. 首先我们要了解AS要写在什么地方,什么时候AS会被触发执行. 1.帧: 写在关键帧上面的AS,当时间轴上的指针走到这个关键帧的时候,就写在这个帧上面的AS就被触发执行了.常见的例子有在影片结尾的帧写上 stop

Docker安装和基础用法 Docker入门教程第二篇_docker

本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 (4)Docker 容器的隔离性 - 使用 cgroups 限制容器使用的资源 (5)Docker 网络 1. 安装 1.1 在 Ubuntu 14.04 上安装 Docker 前提要求: 内核版本必须是3.10或者以上 依次执行下面的步骤: sudo apt-get update sudo apt

什么是docker Docker入门教程第一篇_docker

Docker是个新生的事物,概念类似虚拟化.网上关于Docker入门的东西已经很多了.不过本文探讨了Docker的特点.特性.原理,还介绍了具有中国特色的安装测试过程,另外还谈到了Docker的社区生态和Dockerfile,并使用Dockerfile构建一个nginx环境. 缘起 在几个月前听说Docker,但是一直没有时间去研究,前一段时间趁着azure免费试用,赶紧实验一下,但是卡在了ubuntu基础镜像的下载上(由于国内网络的特殊原因),所以也就搁浅了,这里把经验和体会分享一下. Doc

土人系列AS入门教程--基础篇_Flash As

我写的这些教程,目的是希望初学Flash的爱好者们能多动手,少提问.我下面这些教程面象有 Flash(MX) 基础操作知识的读者. AS基础 ----------------------------------- 做过Flash动画的Flash爱好者们都知道,要做好一个Flash动画,AS是必不可少的,即使只是很简单的几句代码也能起到整个Flash画龙点睛的作用.这里我只简单的介绍一下AS的基本常识. 首先我们要了解AS要写在什么地方,什么时候AS会被触发执行. 1.帧: 写在关键帧上面的AS,

土人系列AS入门教程 -- 对象篇_Flash As

虽然AS不是真正的面向对象的编程,但是它也有对象的概念.这个概念贯穿整个AS的始终,所以,对对象的理解,比对语法或者其他的理解更为重要.现在开始吧: 首先,我们来了解一下路径,路径分两种:绝对路径和相对路径.做过html的朋友应该知道这个概念.但这里我还是要详细解释一下,我认为对路径的理解要深入,我初学的时候就是磕在路径上. 在讲路径之前,有必要先讲一下 .语法 : 举例说明,这里要表示房间里的桌子上的一本书,用 .语法这么表示: 房间.桌子.书 如果要再细到书上的页上面的字,很显然 房间.桌子