首页 > 编程 > VBScript > 正文

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

2020-06-26 18:33:09
字体:
来源:转载
供稿:网友
下面给出几个利用VBScript访问外部文件的例子,方便学习使用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") 
If fso.FileExists(filename)=-1 
VBSCall Call MessageBox("发现错误!!!文件已经存在!!!") 
Goto over 
EndIf 
VBS Set file=fso.CreateTextFile(filename,Ture) 
VBS file.WriteLine("文件第一行,这是一个测试文件") 
VBS file.Close 
VBSCall Call MessageBox("测试文件创建成功!!!") 
Rem over 
EndScript 

2.强行写入文件覆盖原有内容: 
复制代码代码如下:

Rem 在当前盘根目录下创建"测试.txt"并写入一个字符串 
VBS dim fso,file,filename 
VBS filename="/测试.txt" 
VBS Const ForWriting=2 
VBS Set fso=CreateObject("Scripting.FileSystemObject") 
If fso.FileExists(filename)=-1 
VBSCall Call MessageBox("发现错误!!!文件已经存在!!!") 
Goto over 
EndIf 
VBS Set file=fso.CreateTextFile(filename,Ture) 
VBS file.WriteLine("文件第一行,这是一个测试文件") 
VBS file.Close 
VBSCall Call MessageBox("测试文件创建成功!!!") 
Rem over 
EndScript 

3.往文件尾部追加内容: 
复制代码代码如下:

Rem 往当前盘根目录下的文件"测试.txt"末尾追加一个字符串 
VBS dim fso,file,filename 
VBS filename="/测试.txt" 
VBS Const ForAppending=8 
VBS Set fso=CreateObject("Scripting.FileSystemObject") 
If fso.FileExists(filename)=0 
VBSCall Call MessageBox("发现错误!!!文件不存在!!!") 
Goto over 
EndIf 
VBS Set file=fso.OpenTextFile(filename,ForAppending) 
VBS file.WriteLine("测试追加字符串到文件末尾") 
VBS file.Close 
VBSCall Call MessageBox("追加字符串到文件成功!!!") 
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") 
If fso.FileExists(filename)=0 
VBSCall Call MessageBox("发现错误!!!文件不存在!!!") 
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) 
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") 
If fso.FileExists(filename)=0 
VBSCall Call MessageBox("发现错误!!!文件不存在!!!") 
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) 
Rem over 
EndScript 

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

//使用方法和ReadLine近似 

7.SkipLine跳过当前行 

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

8.测试文件行结束/文件结束 
a.测试行结束 
判断语句 
If file.AtEndOfLine=-1 
... 
EndIf 
//表达式为真的时候当前指针处于行末 
b.测试文件结束 
判断语句 
If file.AtEndOfStream=-1 
... 
EndIf 
//表达式为真的时候当前指针处于文件末 

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

a.file.Column 返回当前列号 
b.file.Line 返回当前行号 
c.file.FileExists(filename) 判断指定文件是否存在 

最后强调一点,打开文件以后一定要记得关闭,以免发生数据错误,丢失数据。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表