vbs基础教程5

上一篇 / 下一篇  2011-01-26 10:29:07 / 个人分类:VBS

(转载)

◎Vbs脚本编程简明教程之十一——FSO中文件的基本操作
一、文件属性:

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显示的结果往往不是上面说明的数字,而是有关属性代表数字的和。

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

例如:set fso=wscript.createobject(“scripting.filesystemobject”)

if fso.fileexists(“c:\kk.txt”) then

msgbox “文件已存在

else

set f=fso.createtextfile(“c:\kk.txt”)

end if

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

三、复制、移动、删除文件:使用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” //删除文件

四、文件的读写:

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方法关闭文件。读文件后一定要关闭,才能以写的方式打开。

◎Vbs脚本编程简明教程之十二使用系统对话框
VBS脚本设计中,如果能使用windows提供的系统对话框,可以简化脚本的使用难度,使脚本人性化许多,很少有人使用,但VBS并非不能实现这样的功能,方法当然还是利用COM对象。

1SAFRCFileDlg.FileSave对象:属性有:FileName —指定默认文件名;FileType —

指定文件扩展名;OpenFileSaveDlg —显示文件保存框体方法。

2SAFRCFileDlg.FileOpen对象:FileName —默认文件名属性;OpenFileOpenDlg —显示打开文件框体方法。

3UserAccounts.CommonDialog对象:Filter —扩展名属性("vbs File|*.vbs|All Files|*.*");

FilterIndex —指定

InitialDir —指定默认的文件夹

FileName —指定的文件名

Flags —对话框的类型

Showopen方法:

很简单,ok,让我们来举两个简单的例子:

例一:保存文件

Set bjDialog = CreateObject("SAFRCFileDlg.FileSave")

Set bjFSO = 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

注意:1SAFRCFileDlg.FileSave对象仅仅是提供了一个方便用户选择的界面,本身并没有保存文件的功能,保存文件还需要使用FSO对象来完成。2、用FileType属性来指定默认的文件类型。3、在调用OpenFileSaveDlg方法时,最好把返回值保存到一变量中,用它可以判断用户按下的是确定还是取消。

例二:.打开文件

set bjFile = CreateObject("SAFRCFileDlg.FileOpen")

intRet = objFile.OpenFileOpenDlg

if intret then

msgbox “文件打开成功!文件名为:” & objFile.filename

else

wscript.quit

end if

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

Set bjDialog = 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

说明:在脚本中加入objDialog.Flags = &H020看看会出现什么结果。


◎Vbs脚本编程简明教程之十三使用dictionary对象
VBS
中存在一个特殊的对象-dictionnary,是一个集合对象。一般情况霞,我把这个特殊的集合想象为数组,可以使用其中内建的函数完成存储和操纵数据等基本任务,无须担心数据是在哪些行列,而是使用唯一的键进行访问或者是一个只能运行在内存中的数据库,并只有两个字段分别是:keyitem,在使用中,字段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()  删除全部键/条目对



TAG:

 

评分:0

我来说两句

日历

« 2024-05-10  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 28931
  • 日志数: 45
  • 文件数: 3
  • 建立时间: 2010-11-23
  • 更新时间: 2011-03-02

RSS订阅

Open Toolbar