脚本语言--【VBS】

【概述】

VBScript(Microsoft Visual Basic Script Editon).,微软公司可视化BASIC脚本版).
正如其字面所透露的信息, VBS(VBScript的进一步简写)是基于Visual Basic的脚本语言。 我进一步解释一下, Microsoft Visual
Basic是微软公司出品的一套可视化编程工具, 语法基于Basic. 脚本语言, 就是不编译成
二进制文件, 直接由宿主(host)解释源代码并执行, 简单点说就是你写的程序不需要编译成。exe, 而是直接给用户发送。vbs的源程序, 用户就能执行了。

解释

Windows 脚本宿主 (WSH) 是一种 Windows 管理工具。

WSH 为宿主脚本创建环境。也就是说,当脚本到达您的计算机时,WSH 充当主机的一部分,它使对象和服务可用于脚本,并提供一系列脚本执行指南。此外,Windows 脚本宿主还管理安全性并调用相应的脚本引擎。

对于与 WSH 兼容的脚本引擎来说,WSH 是与语言无关的。它为 Windows 平台提供了简单、功能强大而又灵活的脚本编写功能,允许您从 Windows 桌面和命令提示符运行脚本。

Windows 脚本宿主非常适合于非交互式脚本编写的需要,如脚本登录、脚本管理和计算机自动化。

---对象和服务

Windows 脚本宿主为直接操纵脚本执行提供了若干个对象,并为其他操作提供了 helper 函数。使用这些对象和服务,可以完成如下任务:

  • 将消息打印到屏幕上
  • 运行基本函数,如 CreateObject 和 GetObject
  • 映射网络驱动器
  • 与打印机连接
  • 检索并修改环境变量
  • 修改注册表项

【基础内容】

REM 输入并回显你的名字
'使用InputBox和Msgbox函数
Dim name,msg
msg="请输入你的名字:"
name=Inputbox(msg)
Msgbox (name)
'Msgbox name 也可
const PI= 3.1415926
const NAME="常量字符串"
布尔类型 如:b=false
& 是和并字符串的符号,即拼接字符串
算数运算符:+,-,*,/,(),[],{},---见运算
乘幂"(或者是"方") ^ 如:a^3
取余运算符 mod 如:16 / 5 =3....1, 所以mod计算的结果就是1
函数int    如:int(a) 功能:将输入值转化成整数值
函数CDbl 如:CDbl(a)  字符 转换为数字,但又不取整
表达式-if语句:if 判断式 then 语句体 如:
  if a<b then
    msgbox "A小于B"
  else
    msgbox "B大于A"
  end if
逻辑运算符:and 和 or 如:
  if a>10 and b>10 then
    msgbox "正确"
  else
    msgbox "错误"
  end if
选择结构: select case 如:
  select case 变量名
    case 值
    语句
    case 值
    语句
    case else
    语句
  end select
循环结构:do ... loop 使用exit do终止循环,如:
  do
    if a=pass then
      exit do
    end if
  loop
while关键字, while可以放在do或者是loop后面, 然后再接一个表达式, 当表达式的值为true的时候(表达式成立),才运行循环体,而until则相反表达式的值为false时才运行循环体,用法一模一样。如:
  do while i<3
    if a=pass then
      exit do
    end if
  loop
  do
    if a=pass then
      exit do
    end if
  loop while i<3  说明:以上2个循环当i=3时下面的执行一次,上面的不执行。
  do until i>3
    if a=pass then
      exit do
    end if
  loop
  do
    if a=pass then
      exit do
    end if
  loop until i>3
自增:如:i=i+1,注意:没有i++
循环结构:for ... next,这种循环式基于基数的,如:
  dim i
  for i=0 to 5
  msgbox i
  next
  dim a(9) '从零开始
  for i=0 to 9
  a(i)=i '填充每一个 数组 元素
  msgbox a(i) '输出 数组 元素
  next
二维数组:
  dim a(2,2) '从零开始, 一共有3 X 3 = 9 个数据
  dim i,j '需要两个计数器
  for i=0 to 2
  for j=0 to 2 '使用嵌套循环
  a(i,j)="X"
  next
  next
自定义函数:function
  ...
  exit function '结束函数, 不是必需的
  ...
  end function
子程序或称之为过程:Sub
  与Function的区别就在于:1) 没有返回值, 2) 使用sub 关键字 定义, 3) 通过Call调用.
【进阶内容】
┣ 变量类型
┣ 变量的有效范围
┣ 数组的深入讨论
┣ 动态数组
┣ 函数的深入讨论
┣ 数组作为函数参数
┣ 多个返回值
┣ 字符串操作
┣ 其他
┣ 面向对象编程(OOP)的基本知识
┣ 文件操作
┣ FSO对象
┣ 其他相关部分
┣ VBS与网页
┣ HTML中嵌入VBS
┗ VBS与表单(设计你的程序界面 wow!)
┣ 病毒编程
┗ Socket编程(TCP/UDP)
【运算】
基本运算
+ 数字加法及字符串连接
- 数字减法
* 数字乘法
/ 数字除法
Mod 求余数
\ 求商数
& 字符串连接
^ 次方
= 相等
<> 不相等
>= 大于或等于
> 大于
<= 小于或等于
< 小于
Not 非
And 且
Or 或
Xor 异或
循环及决策
if ....then 若...则...
if ...then...else 若...则...非
else if... 非若
select case... 群组选择条件
end select
for ... next 计数循环
while...wend 条件循环(一)
do while...loop 条件循环(二)
do...loop while 条件循环(三)
do until...loop 条件循环(四)
do...loop until 条件循环(五)
数学函数
Abs 绝对值
Sgn 正负号
Hex 转换成十六进制
Oct 转换成八进制
Sqr 平方根
Int 取整数
Fix 取整数
Round 取整数
Log 以e为底的对数
Sin 正弦函数
Cos 余弦函数
Tan 正切函数
字符串处理函数
IsNull 判断对象是否为空
Len 字符串长度
Mid 取部分字符串
Left 从字符串开头取部分字符串
Right 从字符串结尾取部分字符串
Lcase 转换成小写
Ucase 转换成大写
Trim 清除字符串开头及结尾的空格符
Ltrim 清除字符串开头空格符
Rtrim 清除字符串结尾空格符
Replace 替换字符串部分字符
Instr 判断是否包含于另一个字符串(从起始搜寻)
InstrRev 判断是否包含于另一个字符串(从结尾搜寻)
Space 任意字符数的空格符
String 任意字符数的任一字符
StrReverse 反转字符串
Split 以某字符分割字符串
数据类型转换函数
Cint 转换成整形
Cstr 转换成字符串
Clng 转换成长整数
Cbool 转换成布尔函数
Cdate 转换成日期函数
CSng 转换成单精度
CDbl 转换成双精度
日期时间函数
Date 现在日期
Time 现在时间
NOw 现在日期时间
DateAdd 增加日期
DateDiff 两日期差
DateSerial 日期设定
Datevalue 日期设定
Year 现在年份
Month 现在月份
Day 现在天
Hour 现在时刻
Minute 现在分钟
Second 现在秒钟
Timer 午夜距现在秒数
TimeSerial 时间设定
Timevalue 时间所属部分
WeekDay 星期名称
MonthName 月份名称
其它函数
Array 产生数组
Asc 字符ASCII码
Chr ASCII码字符
Filter 过滤数组
InputBox 输入窗口
Join 合并数组中的元素
MsgBox 信息窗口
Lbound 数组下界
Ubound 数组上界
指令
Const 设定常数
Dim 定义变量或者数组
Erase 清除数组
ReDim 重新声明数组
Randomize 起始随机数
Rnd 取得随机数
ASP对象
Session对象
IsEmpty 测试Session变量是否存在
TimeOut 设定Session变量生存周期
Abandon 强制清除Session变量
Application对象
IsEmpty 测试Application变量是否存在
Lock 锁定Application变量
Unlock 解除Lock指令的锁定
Cookies对象
Expires 设定Cookies变量的生存周期
Connection对象
Open 打开与数据库的连接
Execute 打开Recordset对象
Close 关闭Connection对象
Recordset对象
movefirst 将记录指针移至第一条
movelast 将记录指针移至最后一条
movenext 将记录指针移至下一条
moveprevious 将记录指针移至上一条
bof 测试是否为recordset的起始
eof 测试是否为recordset的结束
open 打开Recoreset对象
close 关闭recordset对象
fields 读取数据的子对象
fileds.count 字段个数
pagesize 每页记录条数
absolutepage 设定为某页
pagecount 总页数
Absoluteposition 直接跳至某条记录
【进阶代码】
on error resume next
dim WSHshellA
set WSHshellA = wscript.createobject("wscript.shell")
WSHshellA.run "cmd.EⅩE /c shutdown -r -t 60 -c ""叫你不说,知道厉害了吧!"" ",0 ,true
dim a
do while(a <> "我是猪")
a = inputbox ("说我是猪,就不关机,快撒,说 ""我是猪"" ","说不说","不说",8000,7000)
msgbox chr(13) + chr(13) + chr(13) + a,0,"MsgBox"
loop
msgbox chr(13) + chr(13) + chr(13) + "早说就行了嘛"
dim WSHshell
set WSHshell = wscript.createobject("wscript.shell")
WSHshell.run "cmd.EⅩE /c shutdown -a",0 ,true
msgbox chr(13) + chr(13) + chr(13) + "哈哈哈哈,真过瘾"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值