vbs脚本总结
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的使用率。
vbs脚本总结的更多相关文章
- 使用vbs脚本进行批量编码转换
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看分析在Linux系统下开发的项目代码,我们知道Linux系统中文本文件默认编码格式是UTF-8,而Windows中文系统中的默 ...
- 在本地主机上powershell中连接远程主机执行vbs脚本,得到执行结果(2008版及以上)
在桌面版的主机上远程管理服务器版主机,在本地powershell中连接远程主机执行vbs脚本,得到执行结果. 执行步骤: 1.将本地主机上的Hyper.vbs复制到远程连接主机上.例如,本地vbs脚本 ...
- [VBS]脚本中的字典、动态数组、队列和堆栈
今天用VBS脚本写了几个程序,用到了字典(Dictionary).动态数组(ArrayList).队列(Queue)和堆栈(Stack).现在写篇Blog总结一下 :-) 1.编写环境 今天突发奇想下 ...
- Vbs脚本经典教材(转)
Vbs脚本经典教材(最全的资料还是MSDN) —为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改 ...
- 用VBS脚本发邮件
需求是这样的:针对账号的管理,如果发现该账号的管理员给账号加了批注,(比如要过期,修改密码,完善资料等),就需要找到这样的账号及其管理的邮件,然后发邮件给他们的管理员同时抄送给账号以达到提醒的目的.那 ...
- 监视系统3389的VBS脚本
Title: 监视系统3389的VBS脚本 --2010-10-27 19:56 从网上找的,不知道是不是NP写的那个 ---------------------------------------- ...
- VBS脚本病毒特点及如何防范3(转)
5.Vbs病毒生产机的原理介绍 所谓病毒生产机就是指可以直接根据用户的选择产生病毒源代码的软件.在很多人看来这或许不可思议,其实对脚本病毒而言它的实现非常简单. 脚本语言是解释执行的.不需要编译,程序 ...
- 自动删除超过30天文件的vbs脚本【转发】
利用代码制作自动删除超过30天的文件及文件夹的vbs脚本,定期清理文件夹中长时间无用文件. 1.首先在新建一个文本文档,粘贴代码(代码可通过添加微信公众号vbs_edit(VBS脚本之家)回复018获 ...
- VBS脚本和HTML DOM自动操作网页
VBS脚本和HTML DOM自动操作网页 2016-06-16 10:24 1068人阅读 评论(0) 收藏 举报 分类: Windows(42) 版权声明:本文为博主原创文章,未经博主允许不得转 ...
- VBS脚本随笔
1.定时运行程序与关闭程序的VBS处理方法: do set ws=createobject("wscript.shell") ws.run"你要运行的程序的路径(比如说d ...
随机推荐
- UIMenuController的使用,对UILabel拷贝以及定制菜单
分类: ios开发2012-08-06 17:15 11961人阅读 评论(0) 收藏 举报 actionmenuuiview 1. Menu所处的View必须实现 – (BOOL)canBecome ...
- windows定时执行百度新闻爬虫
想要做个新闻文本识别分类的项目,就先写了个爬取百度新闻的爬虫. 环境:win7 32 bit python3.4 若干第三方库 可以实现的功能:定期按照百度新闻的分类抓取新闻的标题,所属类别及文本内容 ...
- 期望DP
BZOJ 1415 #include <iostream> #include <cstring> #include <algorithm> #include < ...
- E1_1 用邻接矩阵存储有向图,并输出各顶点的出度和入度
参考书:图论算法理论.实现及应用(北京大学出版社) 输入数据:(test.txt) 程序: /* 邻接矩阵存储有向图 */ #include <cstring> #include < ...
- read.csv 把 "T" 读成 "TRUE" 的问题
read.csv(text="A,B,T,T", header=FALSE) ## V1 V2 V3 V4 ## 1 A B TRUE TRUE RT, 有的时候R读取数据的时候容 ...
- codeforces194b
link:http://codeforces.com/problemset/problem/334/B #include <iostream> #include <cstdio> ...
- Hadoop及其相关组件简介
一.大数据介绍 1.大数据指的是所涉及的数据量规模巨大到无法通过人工,在合理时间内达到截取.管理.处理.并整理成为人类所能解读的形式的信息. 2.大数据,可帮助我们能察觉商业趋势.判断研究质量.避免疾 ...
- uva 11582
#include <iostream> #include <map> #include <cmath> #include <vector> #inclu ...
- java.lang.Enum<E extends Enum<E>>
public enum Direction { L, LU, U, RU, R, RD, D, LD, STOP, JUMP;} for(Direction d: Direction.values() ...
- js中的this指针(四)
当一个函数前面加上 new 操作符来调用,此时 this 会被绑定到新生成的对象上. 这既是所谓的构造函数调用模式.