当前位置: 移动技术网 > IT编程>脚本编程>VBScript > 使用VBS访问外部文本文件一些方法和脚本实例代码

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

2017年12月08日  | 移动技术网IT编程  | 我要评论

山西经贸职业学院,jf581,至尊武者

处理文件用到的常量有: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) 判断指定文件是否存在

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网