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 ...
随机推荐
- Notes of learning AutoLayout
在XCode5中,如果我们添加一个Button或者Label,或者其他的什么标准View,而不设置任何constraints,IB会自动生成constraints,而这些constraints是fix ...
- iOS应用数据存储2-SQLite3数据库
SQLite3 SQLite3是一款开源的嵌入式关系型数据库,可移植性好,易使用,内存开销小. SQLite3是无类型的,意味着你可以保存任何类型的数据到任意表的任意字段中. SQLite ...
- 2016 - 1 - 24 NSURLSession (一)
一: NSURLSession简介 1.实施步骤 1.1 使用 NSURLSession对象 创建TASK ,然后执行TASK 2.TASK的类型: 二: NSURLSession的简单使用: - ( ...
- js 网站顶部通用导航
js代码: (function (scriptId, styleVersion) { var hotgameData = { 'title': '热门游戏', 'list': [ {'text': ' ...
- C语言数组初始化
例如: int a[15] = {0}; 第一种,编译器会把第一个初始化值赋给数组的第一个元素,然后用0赋给其余的元素.如果没有给出初始值,编译器不会去做初始化工作.这样简洁的方式让代码更加高效. 还 ...
- 极简版 react+webpack 脚手架
目录结构 asset/ css/ img/ src/ entry.js ------------------------ 入口文件 .babelrc index.html package.json w ...
- CentOS6.5安装openLdap
一.关闭防火墙和selinux 关闭防火墙 chkconfig iptables off service iptables stop 关闭selinux vim /etc/selinux/config ...
- Java-->服务器的响应(Servlet--doGet&doPost)
--> Servelet: 用于接收请求(客户端,浏览器),做出响应的,服务器端的,java类 --> ServletLogin -- Web项目服务器响应的Java实现 package ...
- Linux压缩那些事儿
tar简介 Linux的压缩命令的源文件只能有一个,这意味在压缩之前不得不先将要压缩的所有文件打包成一个包,然后再压缩包,这样来完成对多个文件的压缩.所以在了解解压缩之前就必须先了解打包命令. Lin ...
- Angularjs中的promise
promise 是一种用异步方式处理值的方法,promise是对象,代表了一个函数最终可能的返回值或抛出的异常.在与远程对象打交道非常有用,可以把它们看成一个远程对象的代理. 要在Angular中创建 ...