初探VBScript
初探VBScript
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.VBScript简介
VBScript ,Visual Basic Script的简称,是微软公司出品的脚本语言,有时也被缩写为VBS。VBScript是asp动态网页默认的编程语言,配合asp内建对象和ADO对象,用户很快就能掌握访问数据库的asp动态网页开发技术。
VBScript[2]是微软开发的一种解析型的服务端(也支持客户端)脚本语言,可以看作是VB语言的简化版,与VBA的关系也非常密切。它具有原语言容易学习的特性。目前这种语言广泛应用于网页和ASP程序制作,同时还可以直接作为一个可执行程序。用于调试简单的VB语句非常方便。
1.《Windows 脚本技术 》,这个是微软官方发布的也是最权威的;
2.《VBScript程序员参考手册》,这是一个电子版本的,如果对VBS很执着的人建议购买一本书,因为有中文翻译哟!
4.Google + baidu,利用好搜索工具,2个软件都要配合搜索,因为有的大神博客写的属实很哇塞哦~
对于vbs来说,VBS只有一种数据类型,即可变类型,称为 Variant。
变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储脚本运行时可更改的程序信息。
声明变量的一种方式是使用 Dim 语句、Public 语句和 Private 语句在脚本中显式声明变量。
3.命名规则:(变量命名必须遵循 VBScript 的标准命名规则。变量命名必须遵循:)
匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=类型+对象描述。命名要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。
说道数组还是蛮有意思的,有时候,将多个相关值赋给一个变量更为方便,因此可以创建包含一系列值的变量,称为数组变量。下例声明了一个包含4个元素的一维数组:
1 Option Explicit 2 Dim num(3) 3 '虽然括号中显示的数字是 3,但由于在 VBScript 中所有数组都是基于 0 的,所以这个数组实际上包含 4 个元素。在基于 0 的数组中,数组元素的数目总是括号中显示的数目加 1。这种数组被称为固定大小的数组。 4 '在数组中使用索引为数组的每个元素赋值。从0到3,将数据赋给数组的元素,如下所示: 5 num(0) = 1 6 num(1) = 2 7 num(2) = 3 8 num(3) = 4 9 MsgBox num(0) 10 MsgBox num(1) 11 MsgBox num(2) 12 MsgBox num(3)
初级数组用法展示
多维数组:数组并不仅限于一维。数组的维数最大可以为 60(尽管大多数人不能理解超过 3 或 4 的维数)。声明多维数组时用逗号分隔括号中每个表示数组大小的数字。
1 Option Explicit 2 Dim num(3,3) '从左往右依次是一维数组和二维数组,我们可以简单的理解成上小学的时候学数学的x,y轴对应的坐标。 3 num(0,1) = 100 4 num(1,2) = 200 5 num(2,3) = 300 6 num(3,0) = 400 7 MsgBox num(0,1) 8 MsgBox num(1,2) 9 MsgBox num(2,3) 10 MsgBox num(3,0)
二维数组用法展示
动态数组:即在运行脚本时大小发生变化的数组 。对数组的最初声明使用 Dim 语句或 ReDim 语句。但是对于动态数组,括号中不包含任何数字。
1 Option Explicit 2 Dim back_path(),i,str,j 3 i = 0 4 str = "" '表示将“str”定义为字符串类型. 5 6 While str<>"q" '表示当你输出"q"就退出当前循环,这个退出标识符可以自定义,不一定要跟我设置的一样哟! 7 ReDim Preserve back_path(i) '保留原数据不变,重新定义数组 8 back_path(i) = InputBox("请输出您想备份的路径>>>:") 9 str = back_path(i) 10 i = i + 1 11 Wend 12 13 For j = 0 To i 14 MsgBox back_path(j) 15 Next
多维数组用法展示
九.常量
常量:常数是具有一定含义的名称,用于代替数字或字符串,其值从不改变。(最好采用一个命名方案以区分常数和变量。这样可以避免在运行脚本时对常数重新赋值。例如,可以使用“vb”或“con”作常数名的前缀,或将常数名的所有字母大写。将常数和变量区分开可以在开发复杂的脚本时避免混乱。)
1 Option Explicit 2 3 Rem 以下是定义一个常量 4 Const PI = 3.1415926 5 6 Rem 什么一个变量 7 Dim sum 8 9 Rem 表示计算sum的值 10 sum = 100 * 100* PI 11 12 MsgBox sum '打印这个sum的值 13 14 15 16 '友情提示: 17 ' 不建议用"Rem"进行注释,而是建议用" ' "进行注释
常量的用法展示以及2种注释展示
十.VBS的常用函数展示
请参考:http://www.cnblogs.com/yinzhengjie/p/6594356.html
十一.基本的流程控制语句
1.分支结构if..then..else..
1 Dim num_1,num_2,response 2 num_1 = InputBox("请输入一个数字>>>:") '要求用户输出一个字符串数字 3 num_2 = InputBox("请再输入一个数字>>>:") 4 num_1 = cint(num_1) '将字符串转换成数字 5 num_2 = cint(num_2) 6 If num_1 > num_2 Then MsgBox num_1 & "大于" & num_2 Else MsgBox num_1 & "小于" & num_2 '比较2个数字的大小,其中这个"&"表示拼接的意思哟
单行写法展示
1 Dim num_1,num_2,response 2 num_1 = InputBox("请输入一个数字>>>:") '要求用户输出一个字符串数字 3 num_2 = InputBox("请再输入一个数字>>>:") 4 num_1 = cint(num_1) '将字符串转换成数字 5 num_2 = cint(num_2) 6 If num_1 > num_2 Then '定义num_1 > num_2需要执行的代码 7 MsgBox num_1 & "大于" & num_2 8 ElseIf num_1 = num_2 Then '定义num_1 = num_2需要执行的代码 9 MsgBox num_1 & "等于" & num_2 10 Else '定义如果上面2个条件都不满足的情况下需要执行的代码 11 MsgBox num_1 & "小于" & num_2 12 End If '多行写法需要写一个结束标识符。
多行写法展示
1 Dim num_1,num_2,response 2 num_1 = _ 3 InputBox("请输入一个数字>>>:") '其中上面的"_"表示续行符号,续行符后面就不能再输入其他的字符了,一般用是为了方便观看你的代码 4 num_2 = _ 5 InputBox("请再输入一个数字>>>:") 6 num_1 = cint(num_1) 7 num_2 = cint(num_2) 8 If num_1 > num_2 Then MsgBox num_1 & "大于" & num_2 : MsgBox "您输入的第一个数字比第二个数字大" Else MsgBox num_1 & "不大于" & num_2 '这里主要讲了":"的用法,将2个msgbox函数写成同一行。
续行符与“:”的应用展示
2.分支结构select case
1 Dim num 2 num = InputBox("请你输入一个数字>>>:") 3 num = cint(num) 4 Select Case num '语句开始 5 Case 100 6 MsgBox "恭喜您中了三等奖" 7 Case 200 8 MsgBox "恭喜您中了二等奖" 9 Case 300 10 MsgBox "恭喜您中了一等奖" 11 Case Else 12 MsgBox "您获得了阳光普照奖" 13 End Select '语句结束
Select Case 用法展示
1 Dim num 2 num = InputBox("您猜猜我今年多大>>>:") 3 num = cint(num) 4 Select Case True '让这个为真,那么就可以在下面做一个条件判断了 5 Case num > 25 6 MsgBox "哟哟哟,小姐姐你猜大了哦" 7 Case num = 25 8 MsgBox "恭喜您猜对了" 9 Case num < 25 10 MsgBox "哟哟哟,小姐姐你猜小了哦" 11 Case Else 12 MsgBox "您获得了阳光普照奖" 13 End Select
Select Case高级用法展示
3.循环结构for…next
1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 Dim i 7 For i = 0 To 10 Step 2 '指定步长为2,如果不设置步长“Step 2”的话默认步长为“1” 8 MsgBox "i = " & i 9 next
For 正序用法展示
1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 Dim i 7 For i = 10 To 0 Step -2 '指定步长为-2,表示每次循环自减去“2” 8 MsgBox "i = " & i 9 next
for 倒序用法展示
1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 Dim i 7 For i = 1 To 10 8 MsgBox "i = " & i 9 If i = 8 Then Exit For '表示当i=8时退出For循环 10 next
For的中断用法展示
1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 Dim i,j,k 7 For i = 1 To 2 8 For j = 3 To 4 9 For k = 5 To 6 10 MsgBox i:MsgBox j:MsgBox k 11 Next 12 Next 13 Next
For的嵌套用法
1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 Dim i 7 For i =0 To 1 Step 0 '让步长为0,就无法到达下一个数字进行循环,当i=0时一直会执行以下代码,即条件为真就好 8 MsgBox "这是一个死循环" 9 Next
如何写一个死循环呢?
4.循环结构while…wend
1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 Dim i 7 i = 0 8 While i < 10 '循环开始 9 i = i + 1 10 MsgBox "i = " & i 11 12 Wend '循环结束
While初级用法
1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 '完美来写一个猜测年龄的小程序吧 7 Dim num,i 8 While i < 2 9 num = InputBox("给你三次机会猜猜我今年多大>>>:") 10 num = cint(num) 11 Select Case True 12 Case num > 25 13 MsgBox "哟哟哟,小姐姐你猜大了哦" 14 i = i + 1 15 Case num = 25 16 MsgBox "恭喜您猜对了" 17 Alert num 18 Case num < 25 19 MsgBox "哟哟哟,小姐姐你猜小了哦" 20 i = i + 1 21 Case Else 22 MsgBox "您获得了阳光普照奖" 23 i = i + 1 24 End Select 25 Wend
while用法案例
5.循环结构do…loop
1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 Dim i 7 i = 0 8 Do While i < 10 9 MsgBox "i = " & i 10 i = i + 1 11 loop
Do While ...loop用法展示
1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 Dim i 7 i = 0 8 Do Until i >= 10 '等效于while i <10,表示直到i >= 10 不执行以下的代码 9 MsgBox "i = " & i 10 i = i + 1 11 Loop
Do Until...Loop用法展示
1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 Dim i 7 i = 0 8 Do Until i >= 10 '等效于while i <10,表示直到i >= 10 不执行以下的代码 9 MsgBox "i = " & i 10 i = i + 1 11 If i > 3 Then 12 Exit Do '退出循环 13 End If 14 Loop
退出循环展示
1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 Dim i 7 i = 0 8 Do while True 9 MsgBox "这是一个死循环" 10 Loop
如何写一个死循环
初探VBScript相关推荐
- vbScript中WScript.Shell对象的 run 和 exec
vbScript中WScript.Shell对象的run和exec ━━━━━━━━━━━━━━━━━━━━━━━━━━ 方法声明: Function Exec(ByVal Command As St ...
- 《HTML5游戏编程核心技术与实战》——第1章 游戏和HTML5初探1.1 网页游戏和HTML5...
本节书摘来自异步社区<HTML5游戏编程核心技术与实战>一书中的第1章,第1.1节,作者: 向峰 更多章节内容可以访问云栖社区"异步社区"公众号查看. 第1章 游戏和H ...
- 2021年大数据Flink(九):Flink原理初探
Flink原理初探 Flink角色分工 在实际生产中,Flink 都是以集群在运行,在运行的过程中包含了两类进程. JobManager: 它扮演的是集群管理者的角色,负责调度任务.协调 checkp ...
- 从壹开始微服务 [ DDD ] 之一 ║ D3模式设计初探 与 我的计划书
缘起 哈喽大家周四好!又是开心的一天,时间过的真快,我们的 <从壹开始 .net core 2.1 + vue 2.5 >前后端分离系列共 34 篇已经完结了,当然以后肯定还会有更新和修改 ...
- 经典算法研究系列:二、Dijkstra 算法初探
经典算法研究系列:二.Dijkstra 算法初探 July 二零一一年一月 ====================== 本文主要参考:算法导论 第二版.维基百科. 写的不好之处,还望见谅. 本 ...
- las格式测井曲线_邹榕,等:顺北和托甫台区块奥陶系断裂结构单元测井响应特征初探...
引用格式:邹榕,徐中祥,张晓明,等.顺北和托甫台区块奥陶系断裂结构单测井响应特征初探[J].油气藏评价与开发,2020,10(2):18-23.ZOUR, XU Z X, ZHANG X M, et ...
- 2018-4-15摘录笔记,《网络表征学习前沿与实践》 崔鹏以及《网络表征学习中的基本问题初探》 王啸 崔鹏 朱文武
1.来源:<网络表征学习前沿与实践> 崔鹏 (1)随着数据的增加以及计算机计算速度的增加,想当然的以为速度快了,数据再多也是可以自己算的,但是若是数据之间存在着复杂的关系,那么处理一个样 ...
- python argparse_Python 命令行之旅:初探 argparse
本文首发于 HelloGitHub 公众号,并发表于 Prodesire 博客. 前言 你是否好奇过在命令行中敲入一段命令后,它是如何被解析执行的?是否考虑过由自己实现一个命令行工具,帮你执行和处理任 ...
- HTML5+MUI+HBuilder 之初探情人
07,08年那会儿正当Java火爆,C/C++仍是广泛运用的一门语言的时候,所以我的大学都献给了C/C++和Java.当诺基亚的倒闭成为按键机时代衰落的标志时,移动APP的开发也如破堤之洪.爆炸式的崛 ...
- 使用Mahout搭建推荐系统之入门篇3-Mahout源码初探
2019独角兽企业重金招聘Python工程师标准>>> 用意: 希望了解Mahout中数据的存储方式, 它如何避免java object带来的冗余开销.学完知识,要进行些实战 去分析 ...
最新文章
- 前端也能玩转机器学习?Google Brain 工程师来支招
- Debian 8 直接升级到 Debian 9
- html回顾随笔JS(*^__^*)
- 教你用 Netty 实现一个简单的 RPC!
- Hyper-V 的导入和导出
- 三十一、Python读写docx文件
- 2021福建计算机会考操作题,2021年福建省信息技术会考笔试试题答案.doc
- spring mvc ajax 400解决
- hdu4277 暴力
- 字符串匹配算法(Trie树)
- 伪代码block转换成程序流程图_程序设计基础
- 【MTSP】基于matlab遗传算法求解多旅行商问题【含Matlab源码 016期】
- 2022年 javaJDK下载安装步骤及环境变量配置【超详细】
- 电信 dns服务器 不稳定,知名DNS服务商114DNS故障,你访问受影响了吗?
- 好消息:GAX/GAT February 2008 Final Release
- 确定你的台式计算机支持的内存类型,如何区分内存类型及查看内存的兼容性
- asp.net identity 基础概念篇-理解什么是声明
- Ubuntu 20.04双拼输入法
- 如何解决谷歌浏览器网页不能复制与右键点击问题
- javase加强,十、IO流2