您的位置:首页 > 编程语言 > VB

使用VBS访问外部文本文件一些方法和脚本实例

2009-07-10 18:45 671 查看
使用VBS访问外部文本文件一些方法和脚本实例

2007-05-06 15:37:49

使用VBS访问外部文本文件一些方法和脚本实例

处理文件用到的常量有:ForReading = 1 ,ForWriting=2,ForAppending=8,用于的操作分别是读/写和追加,都要在使用之前用VBS Const来声明。常用于处理文本文件的方法有:Read(var)—读var个字符,ReadLine—读一行,ReadAll—读整个文件内容,SkipLine—跳过本行指向下一行,Write(var)—把字符串var写入文件,WriteLine(var)—把字符串var和换行符写入文件,WriteBlankLines(n)—写入n个换行符。

下面给出几个利用VBScript访问外部文件的例子:

1.创建一个新的文本文件,如果文件已经存在则报告错误:

Rem 在当前盘根目录下创建"测试.txt"并写入一个字符串

VBS dim fso,file,filename

VBS filename="/测试.txt"

VBS Const ForWriting=2

VBS Set fso=CreateObject("Scripting.FileSystemObject")

IfExpression fso.FileExists(filename)=-1

VBSCall Call MessageBox("发现错误!!!文件已经存在!!!")@<stdlib.vbs>

Goto over

EndIf

VBS Set file=fso.CreateTextFile(filename,Ture)

VBS file.WriteLine("文件第一行,这是一个测试文件")

VBS file.Close

VBSCall Call MessageBox("测试文件创建成功!!!")@<stdlib.vbs>

Rem over

EndScript

2.强行写入文件覆盖原有内容:

Rem 往当前盘根目录下的文件"测试.txt"写入一个字符串,覆盖原有内容

VBS dim fso,file,filename

VBS filename="/测试.txt"

VBS Const ForWriting=2

VBS Set fso=CreateObject("Scripting.FileSystemObject")

IfExpression fso.FileExists(filename)=0

VBSCall Call MessageBox("发现错误!!!文件不存在!!!")@<stdlib.vbs>

Goto over

EndIf

VBS Set file=fso.OpenTextFile(filename,ForWriting,Ture)

VBS file.WriteLine("测试写入文件行")

VBS file.Close

VBSCall Call MessageBox("写入文件成功!!!")@<stdlib.vbs>

Rem over

EndScript

3.往文件尾部追加内容:

Rem 往当前盘根目录下的文件"测试.txt"末尾追加一个字符串

VBS dim fso,file,filename

VBS filename="/测试.txt"

VBS Const ForAppending=8

VBS Set fso=CreateObject("Scripting.FileSystemObject")

IfExpression fso.FileExists(filename)=0

VBSCall Call MessageBox("发现错误!!!文件不存在!!!")@<stdlib.vbs>

Goto over

EndIf

VBS Set file=fso.OpenTextFile(filename,ForAppending)

VBS file.WriteLine("测试追加字符串到文件末尾")

VBS file.Close

VBSCall Call MessageBox("追加字符串到文件成功!!!")@<stdlib.vbs>

Rem over

EndScript

4.读取指定文件一行

Rem 从当前盘根目录下的文件"测试.txt"读一行

VBS dim fso,file,filename,text

VBS filename="/测试.txt"

VBS Const ForReading=1

VBS Set fso=CreateObject("Scripting.FileSystemObject")

IfExpression fso.FileExists(filename)=0

VBSCall Call MessageBox("发现错误!!!文件不存在!!!")@<stdlib.vbs>

Goto over

EndIf

VBS Set file=fso.OpenTextFile(filename,ForReading)

VBS text=file.ReadLine

VBS file.Close

VBS text="从文件"&filename&"读取行成功!读到的字符串为:"&text

VBSCall Call MessageBox(text)@<stdlib.vbs>

Rem over

EndScript

5.从指定文件行读取2个字符

Rem 从当前盘根目录下的文件"测试.txt"读取2个字符

VBS dim fso,file,filename,text

VBS filename="/测试.txt"

VBS Const ForReading=1

VBS Set fso=CreateObject("Scripting.FileSystemObject")

IfExpression fso.FileExists(filename)=0

VBSCall Call MessageBox("发现错误!!!文件不存在!!!")@<stdlib.vbs>

Goto over

EndIf

VBS Set file=fso.OpenTextFile(filename,ForReading)

VBS text=file.Read(2)

VBS file.Close

VBS text="从文件"&filename&"读取2个字符成功!读到的字符为:"&text

VBSCall Call MessageBox(text)@<stdlib.vbs>

Rem over

EndScript

6. ReadAll读取整个文件内容,大文件太占资源,不建议使用

使用方法和ReadLine近似

7.SkipLine跳过当前行

使用方法是file.SkipLine,仅用于只读属性打开的文件

8.测试文件行结束/文件结束

a.测试行结束

判断语句

IfExpression file.AtEndOfLine=-1

...

EndIf

表达式为真的时候当前指针处于行末

b.测试文件结束

判断语句

IfExpression file.AtEndOfStream=-1

...

EndIf

表达式为真的时候当前指针处于文件末

9.其他用于文件的函数或者叫方法功能有

a.file.Column 返回当前列号

b.file.Line 返回当前行号

c.file.FileExists(filename) 判断指定文件是否存在

有兴趣的朋友可以仔细研究一下,现在就讲这么多,整理的比较仓促,如果有问题希望大家指正。

最后强调一点,打开文件以后一定要记得关闭,以免发生数据错误,丢失数据。有问题的朋友可以跟帖,大家一起研究

好象是酒心写的,现在搜不到了,晕
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐