vbs基础教程v1.0

vbs编程语言篇

vbs编程语言简介

VBS是一种基于Visual Basic的脚本语言。VBS的全称为Microsoft Visual Basic Script Edition(微软公司可视化BASIC脚本版),其语言与Visual Basic(VB)相似。

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

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

VBS可以做什么:
1. 计算
2. 处理文件和文件夹
3. 管理Windows
4. 处理Word, Excel, PowerPoint等Office文档
5. 嵌入网页,驱动dHTML
6. 编写HTTP通信
7. 调用系统功能(COM组件),比如说语音说话
8. 分析HTML, XML
9. 调用命令行并分析返回结果
10. 处理图片
11. 自动化按键
12. 调用Windows Media Player并管理
13. 调用Windows Live Messenger并管理
14. 服务端技术:Active Server Page (ASP)
15. 脚本病毒
16. 处理数据库

Vbs脚本常用的编辑器当然是notepad,不过这个编辑器的功能当然实在是太弱了一点,其实有很多的专用的脚本编辑器可以大大方便vbs脚本的编写。我常用的有两种:
1、VBSEDit汉化版
2、primalscript汉化版,可以对30多种脚本进行编辑

目录

 第一篇·························································FSO中文件的基本操作

 第二篇·························································第二篇

 第三篇························································· 第三篇

 第四篇·························································第四篇

 第五篇·························································第五篇

 第六篇·························································第六篇

 第七篇·························································第七篇

 第八篇·························································编辑本段vbScript常用运算符与函数

第一篇:FSO中文件的基本操作

1.文件属性

在windows中,文件的属性一般用数字来表示:
0代表normal,即普通文件未设置任何属性。
1代表只读文件。
2代表隐藏文件。
4代表系统文件。
16代表文件夹或目录。
32代表存档文件。
1024代表链接或快捷方式。 

复制:

set fs=wscript.createobject("scripting.filesystemobject")
set f=fs.getfile("d:/index.txt")
msgbox f.Attributes

attributes函数的功能为显示文件属性。 需要说明的是:msgbox所显示的结果通常并非上述说明中的数字,而是相关属性代表数字的总和。

2.创建文件:object.createtextfile方法,注意创建前一般需要检查文件是否存在。

比如:

if fso.fileexists("c:/kk.txt") then
msgbox "文件已存在"
else
set f=fso.createtextfile("c:/kk.txt")
else if

如需要强制覆盖已存在的文件,则在文件名后加true参数。

3.复制、移动、删除文件:使用copyfile方法、movefile方法、deletefile方法。

比如:

set fso=wscript.createobject("scripting.filesystemobject")
fso.copyfile "c:/kk.txt","d:/1/kk.txt",true   //如上文说述,true代表强制覆盖
fso.movefile "c:/kk.txt", "d:/" //移动文件
fso.deletefile "c:/kk.txt" //删除文件、

4.文件的读写
(1)打开文件:使用opentextfile方法

比如:

set ts=fso.opentextfile("c:/kk.txt",1,true)

说明:第二个参数为访问模式,其中1代表只读、2代表写入、8代表追加;第三个参数用于指定若文件不存在则进行创建。

(2)读取文件:read(x)读x个字符;readline读一行;readall全部读取

比如:

set ffile=fso.opentextfile("c:/kk.txt",1,true)
value=ffile.read(20)
line=ffile.readline
contents=ffile.readall

(3)常见的指针变量

atendofstream属性:当处于文件结尾的时候这个属性返回true。一般用循环检测是否到达文件末尾。

比如:

do while ffile.atendofstream<>true
ffile.read(10)
loop

atendofline属性:如果已经到了行末尾,这个属性返回true。

Column属性(当前字符位置的列号)和line属性(文件当前行号):在打开一个文件后,行和列指针都被设置为1。

(4)在文件中跳行:skip(x) 跳过x个字符;skipline 跳过一行
(5)在文件中写入字符:可以用2-写入和8-追加的方式来写入

其方法有:write(x)写入x字符串;writeline(x)写入x代表的一行writeblanklines(n) 写入n个空行。
注意:最后一定要使用close方法关闭文件。读文件后一定要关闭,才能以写的方式打开。

5.使用系统对话框

在VBS脚本设计中,如果能使用windows提供的系统对话框,可以简化脚本的使用难度,使脚本人性化许多,很少有人使用,但VBS并非不能实现这样的功能,方法当然还是利用COM对象。
1、SAFRCFileDlg.FileSave对象:属性有:FileName — 指定默认文件名;FileType —指定文件扩展名;OpenFileSaveDlg — 显示文件保存框体方法。
2、SAFRCFileDlg.FileOpen对象:FileName — 默认文件名属性;OpenFileOpenDlg — 显示打开文件框体方法。
3、UserAccounts.CommonDialog对象:Filter — 扩展名属性(”vbs File|.vbs|All Files|.*”);
FilterIndex — 指定
InitialDir — 指定默认的文件夹
FileName — 指定的文件名
Flags — 对话框的类型
Showopen方法:
很简单,让我们来举三个简单的例子:
例一:保存文件

Set objDialog = CreateObject("SAFRCFileDlg.FileSave")
Set objFSO = CreateObject("Scripting.FileSystemObject")
objDialog.FileName = "test"
objDialog.FileType = ".txt"
intReturn = objDialog.OpenFileSaveDlg
If intReturn Then
objFSO.CreateTextFile(objDialog.FileName & objdialog.filetype)
Else
Wscript.Quit
End If

注意:1、SAFRCFileDlg.FileSave对象仅提供了便于用户选择的界面,其本身不具备保存文件的功能,保存文件需借助FSO对象来完成。2、利用FileType属性指定默认的文件类型。3、在调用OpenFileSaveDlg方法时,最好将返回值保存至一个变量中,通过该变量可判断用户按下的是确定还是取消按钮。

例二:.打开文件

set objFile = CreateObject("SAFRCFileDlg.FileOpen")
intRet = objFile.OpenFileOpenDlg
if intret then
msgbox "文件打开成功!文件名为:" & objFile.filename
else
wscript.quit
end if

例三:比较复杂的打开文件对话框

Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = "vbs File|*.vbs"
objDialog.InitialDir = "c:/"
tfile=objDialog.ShowOpen
if tfile then
strLoadFile = objDialog.FileName
msgbox strLoadFile
else
wscript.quit
end if

6.使用dictionary对象

VBS中存在一个特殊的对象-dictionnary,是一个集合对象。一般情况霞,我把这个特殊的集合想象为数组,可以使用其中内建的函数完成存储和操 纵数据等基本任务,无须担心数据是在哪些行列,而是使用唯一的键进行访问或者是一个只能运行在内存中的数据库,并只有两个字段分别是:key和item, 在使用中,字段key是索引字段。

比如:

set sdict=CreateObject("Scripting.Dictionary")
sdict.add "a","apple"
sdict.add "b","banana"
sdict.add "c","copy"
for each key in sdict.keys
msgbox "键名" & key & "是" & " = " & sdict (key)
next
sdict.removeall

这个脚本很简单,就是定义了一个 dictionary 对象的实例sdict,并加入了三条数据,然后对每一条数据进行了枚举,最后,将对象的实例清空。

Dictionary 对象的成员概要

属性和说明
CompareMode 设定或返回键的字符串比较模式
Count 只读。返回 Dictionary 里的键/条目对的数量
Item(key) 设定或返回指定的键的条目值
Key(key) 设定键值

方法和说明
Add(key,item) 增加键/条目对到 Dictionary
Exists(key) 如果指定的键存在,返回 True,否则返回 False
Items() 返回一个包含 Dictionary 对象中所有条目的数组
Keys() 返回一个包含 Dictionary 对象中所有键的数组
Remove(key) 删除一个指定的键/条目对
RemoveAll() 删除全部键/条目对

7.VBS内置函数

Abs 函数:返回数的绝对值。
Array 函数:返回含有数组的变体。
Asc 函数:返回字符串首字母的 ANSI 字符码。
Atn 函数:返回数值的反正切。
CBool 函数:返回已被转换为 Boolean 子类型的变体的表达式。
CByte 函数:返回已被转换为字节子类型的变体的表达式。
CCur 函数:返回已被转换为货币子类型的变体的表达式。
CDate 函数:返回已被转换为日期子类型的变体的表达式。
CDbl 函数:返回已被转换为双精度子类型的变体的表达式。
Chr 函数:返回与指定的 ANSI 字符码相关的字符。
CInt 函数:返回已被转换为整形子类型的变体的表达式。
CLng 函数;返回已被转换为Long子类型的变体的表达式。
Cos 函数:返回角度的余弦。
CreateObject 函数:创建并返回对“自动”对象的引用。
CSng 函数:返回已被转换为单精度子类型的变体的表达式。
CStr 函数:返回已被转换为字符串子类型的变体的表达式。
Date 函数:返回当前系统日期。
DateAdd 函数:返回的日期已经加上了指定的时间间隔。
DateDiff 函数:返回两个日期之间的间隔。
DatePart 函数:返回给定日期的指定部分。
DateSerial 函数:返回指定年月日的日期子类型的变体。
DateValue 函数:返回日期子类型的变体。
Day 函数:返回日期,取值范围为 1 至 31。
Eval 函数:计算表达式并返回结果。
Exp 函数:返回 e (自然对数的底) 的多少次方。
Filter 函数:根据指定的筛选条件,返回含有字符串数组子集的、下限为 0 的数组。
Fix 函数:返回数的整数部分。
FormatCurrency 函数:返回的表达式为货币值格式,其货币符号采用系统控制面板中定义的。
FormatDateTime 函数:返回的表达式为日期和时间格式。
FormatNumber 函数:返回的表达式为数字格式。
FormatPercent 函数:返回的表达式为百分数(乘以 100)格式,后面有 % 符号。
GetObject 函数:返回从文件对“自动”对象的引用。
GetRef 函数:返回对能够绑定到一事件的过程的引用。
Hex 函数:返回一字符串,代表一个数的十六进制值。
Hour 函数:返回表示钟点的数字,取值范围为 0 至 23。
InputBox 函数:在对话框中显式一提示,等待用户输入文本或单击按钮,并返回文本框的内容。
InStr 函数:返回一个字符串在另一个字符串中首次出现的位置。
InStrRev 函数;返回一个字符串在另一个字符串中出现的位置,但是从字符串的尾部算起。
Int 函数:返回数的整数部分。
IsArray 函数:返回 Boolean 值,反映变量是否为数组。
IsDate 函数:返回 Boolean 值,反映表达式能否转换为日期。
IsEmpty 函数:返回 Boolean

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值