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 ...
随机推荐
- C#日志记录函数
错误日志记录在程序运行的实际维护中定位问题具有很大作用,日志越详细,反馈处理问题越方便. 常用的一个B/S架构下的日志函数. //日志记录函数 private void WriteLog( strin ...
- Web Form 取消手机端自动转换
将项目中的Site.Mobile.Master排除重新发布即可
- C# List和String互相转换
List转字符串,用逗号隔开 List<string> list = new List<string>();list.Add("a");list.Add(& ...
- 大数运算Swift
前几天开始,打算用Swift写大数的运算,加法跟乘法都已经写好了,写减法发现,真是难,感觉有可能是我的想法不对?不不不我相信我的逻辑. 首先把数字分成小数部分跟整数部分,再遍历一下,识别当前的结果,是 ...
- php大力力 [045节] 兄弟连高洛峰 PHP教程 2014年[已发布,点击下载]
http://www.verycd.com/topics/2843130/ 第1部分 WEB开发入门篇第1章LAMP网站构建1.[2014]兄弟连高洛峰 PHP教程1.1.1 新版视频形式介绍[已发布 ...
- [Algorithm Basics] Search
1, Binary Search On sorted array! public static int binarySearch(int e, int[] array, int low, int hi ...
- SVD
SVD分解(奇异值分解),本应是本科生就掌握的方法,然而却经常被忽视.实际上,SVD分解不但很直观,而且极其有用.SVD分解提供了一种方法将一个矩阵拆分成简单的,并且有意义的几块.它的几何解释可以看做 ...
- 地址(Address)——统一资源表示(URI)——WCF学习笔记(2)
统一资源标识(URI) URI:Uniform Resource Identifier(统一资源标识),唯一地标识一个网络资源的同时也表示资源所处的位置的方式(资源访问所用的网络协议). URI结构: ...
- Egit Patch
Git为我们提供了Patch功能,Patch中包含了源码更改的描述,能够应用于其他Eclipse工作空间或者Git仓库.也就是说,可以将当前提交导出至其他分支或者项目中. 举个例子,项目A.B中使用了 ...
- linux之"server" directive is not allowed here in
配置完rewrite之后重启nginx发现如下错误 "server" directive is not allowed here in* 原因是因为 外部配置的simple.con ...