1. msgbox语法:msgbox "对话框","对话框标题"
例:const hw="Hello World!"
msgbox(hw)
2. Dim 定义变量,vbs只有一种变量,所以不用声明变量。
3. Inputbox("对话框内容","对话框标题")
例:Dim name
name=Inputbox("请输入您的名字","名称")
Msgbox name,"您的名字是"
4. 所有的单引号后面的内容为注释内容。
5. 变量转化:
Cbool函数: 变量-->布尔值
Cbyte函数:变量-->0到255之间的整数
Ccur、Cdbl、Csng:变量-->浮点数值(Ccur精确到后四位)
Cdate :变量-->日期值
Cint、Clng:变量-->整数
Cstr:变量-->字符串
6. 数组:数组下标从0开始
例:arr=array("t1","t2","t3")
For i=0 To UBound(arr)-LBound(arr)
msgbox arr(i)
Next
注:UBound最大可用下标,LBound最小可用下标
7. split函数:切割字符串
split("VBScriptXisXfun","X",-1,1) '-1返回所有子串,1:文本比较;0:二进制比较
8. Join函数:返回一个字符串,此字符串由包含在数组中的子字符串连接创建
arr=array("t1","t2","t3")
Msgbox Join(arr,",")
9. 循环体:do -exit do -loop
例: Dim a,ctr
ctr=0
const pass="pass123"
Do while ctr<3
a=Inputbox("请输入密码")
if a=pass then
msgbox("认证成功")
exit Do
Else
ctr=ctr+1
msgbox("认证出错,请检查密码")
End if
loop
10. &用于连接字符串
vbcrlf相当于键盘的回车键
12. 子程序:1)没有返回值 ;2)使用sub关键字定义;3)通过call调用
例:Dim yname
yname=inputbox("请输入你的名字")
call who(yname)
sub who(cname)
msgbox("您好"&cname)
end sub
12. 函数:function(param1,param2) end function
例:function co(t1,t2)
if t1>t2 then
co=t1
elseif t2>t2 then
co=t2
end if
end function
msgbox co(12,14) '调用函数
13. 对象
①Scripting.FileSystemObject :文件系统操作函数
②Scripting.Dictionary:键值对
③Wscript.Shell:读取系统信息的函数
④Wscript.Network:提供网络连接和远程打印管理的函数
例:set objshell=CreateObject("Wscript.shell")
objshell.Run "Notepad"
注:notepad:记事本 ; calc 计算器; winword word文档
14. 错误信息提示
On Error Resume Next
a=11
b=0
c=a/b
if err.number<>0 then
Wscript.echo err.number & err.description & err.source
end if
错误 err 有2个方法,5个属性.
方法:clear 、raise
属性:description、number、source、helpfile、helpcontext
15. 文件夹操作:
①创建:
Dim fs,s
Set fs= CreateObject("Scripting.FileSystemObject")
if(fs.folderexists("d:\temp")) then
s="is avallable"
else
s="not exist"
set foldr=fs.CreateFolder("d:\temp") '不存在则建立
end if
②删除:
fs.deletefolder("d:\temp")
③拷贝:fs.copyfolder "d:\temp","e:\temp",true
④移动:fs.morefolder "d:\temp","e:\temp"
16. 特殊文件夹
例:set fs=WSCript.CreateObject("Scripting.FileSystemObject")
set wfolder=fs.getSpecialfolder(0) '返回windows目录
set wfolder1=fs.getSpecialfolder(1) '返回system
set wfolder2=fs.getSpecialfolder(2) '返回临时目录
特殊功能键:
shift ->+
ctrl -> ^
alt ->%
17. 文件属性
0:普通文件
1:只读文件
2:隐藏文件
4:系统文件
16:文件夹或目录
32:存档文件
1024:连接或快捷方式
18. 读文件
read(X) :读取x个字符
readline:读取一行
readall:全部读取
例:set fs=CreateObject("Scripting.FileSystemObject")
set file=fs.opentextfile("c:/1.txt",1,true) '1为只读 ,2为写入,8为追加
value=file.read(20)
line=file.readline
all=file.readall
19. 写文件
write(X):写入x个字符
writeline(x):写入行
writeblanklines(n): 写入n个空行
读文件关闭后,才能以写的方式打开,打开后,2为写入,8为追加写入
20. 指针变量: atendofstream:当处于子文件结尾的时候,这个属性返回true,一般用循环检测是否到达文件尾。
例:do while file.atendogstream <>true
file.read(10)
loop
atendoline:如果到了行末尾,返回true。
skip(x) 跳过x个字符
skipline 跳过一行
21. mid函数:从字符串中返回指定个数的字符。
mid(string,start[,length])
例: Dim a=Mid("This is a beautiful day!",1,11) 'This is a b
Right("I like it",3) '从右边开始截取3个字符
left("I like it",3) '从左边开始截取3个字符
Lcase("NOHNH") '大写转换成小写
Ucase("oracle") '小写转换成大写
22. for-next 循环
例:Dim i
For i=0 To 9
msgbox(i)
Next
23. for each ...in next 循环
例:a=array("1","2","3")
for Each i In a
msgbox i
next
24. while ... wend 循环
例: Dim counter
counter=0
while counter<20
counter=counter+1
msgbox counter
wend
25. option Explicit 强制要求显示声明脚本中的所有
26. instr函数:返回某字符串子在另一字符串中第一次出现的位置。例: my=Instr(4,"xxpxxpxxPx","P",1) '在位置4进行文本比较,返回6
instrB:返回字节位置
replace 替换:replace("xxpxxpxxp","p","Y") '把p换成Y
space :my string="Hello"&space(10)&"World" '在两个字符中插入10个空格
strReverse:逆反 my ms=strReverse("VBSctipt") 'tpitcSBV
InstrRev:返回某字符串在另一字符串中出现的从结尾记起的位置。 例:my=InsrtRev("XXpXXpXXPXXP","P",10,0) '从第10个位置起向前搜索,第9位
strcomp :my comp=strcomp("ABCD","abcd",1)
返回值:-1: str1<str2
0: str1=str2
1: str1>str2
null: null
27. Ltrim:不带前导空格
Rtrim:不带后续空格
Trim:前导后续都不带
isEmpty():判断变量是否初始化,是返回ture,否则返回false。当变量为null时,返回false。
isNull():指表达式是否包含任何有效数据,为null,返回为ture。
isNumeric():是否为数字
isObject():是否引用了有效的automation对象
TypeName():返回字符串,提变量的vaviant子类型信息。例:mytype=TypeName("VBSCript") '返回"String"
varType():返回 变量子类型。例:my=varType(300) '返回2,代表整数
28. 键值对 removeAll :删除所有
例:set args_dic =createObject("Scripting.Dictionary")
args_dic.Add "1","老样"
args_dic.Add "1","老林"
args_keys=args_dic.keys
args_values=args_dic.Items
for i=0 To args_dic.Count-1
WSCript echo "keys:"&args_keys(i)&"values:"&args_values(i)
Next
WSCript echo "keys:values"&args_dic.Item("1")
删除单个:args_dic.remove("2")
判断是否存在:args_dic.exists("3")
29. DatePart 日期函数
例: my_date1=DateAdd("d",-1,Date) '取当前时间的前一天
mydate2=DatePart("yyyy",my_date1)&"-"&Right("0")&DatePart("m",my_date1,2)&"-"&Right("0")&DatePart("d",my_date1,2)
注:yyyy ->年 ;q -> 季度; m->月;y->一年的日数;d->日;ww->周; h->小时;n->分钟;s->秒。
30. 获取第一个cpu对象:
set objproc=GetObject("winmgmts:\\.\root\cimv2:win32-processor='cpu0'")
icpu=objproc.LoadPercentage '获得cpu的使用率。