Vbscript
脚本编程
关于文件的读写
使用
vbscript
来读写文件,十分的方便,废话少说,切入正题。
1
、打开文件
使用
opentextfile
方法
set fs =createobject(“scripting.filesystemobject”)
set ts=fs.opentextfile(“c:\1.txt”,1,true)
注意这里需要填入文件的完整路径,后面一个参数为访问模式
1
为
forreading
2
为
forwriting
8
为
a
pp
ending
第三个参数指定如果指定文件不存在,是否创建。
2
、读取文件
读取文件的方法有三个
read(x)
读取
x
个字符
read
li
ne
读取一行
re
ada
ll
全部读取
例如:
set fs =createobject(“scripting.filesystemobject”)
set ts=fs.opentextfile(“c:\1.txt”,1,true)
value=ts.read(20)
li
ne=ts.read
li
ne
contents=ts.re
ada
ll
这里还要介绍几个指针变量:
textstream
对象的
atendofstream
属性。当处于文件结尾的时候这个属性返回
true.
我们
可以
用循环检测又没有到达文件末尾。例如:
set fs =createobject(“scripting.filesystemobject”)
set f=fs.getfile(“c:\1.txt”,1,false)
set ts=f.openastextstream(1,0)
do w
hi
le ts.atendofstream<>true
f.read(1)
loop
还有一个属性,
atendof
li
ne,
如果已经到了行末尾,这个属性返回
true.
Textstream
对象还有两个有用的属性,
column
和
li
ne.
在打开一个文件后,行和列指针都被设置为
1
。
看一个综合的例子吧:
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
*read.vbs
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
set fs =createobject(“scripting.filesystemobject”)
set f=fs.opentextfile(“c:\1.txt”,1,true)
do w
hi
le f.atendofstream<>true
data=””
for a=1 to 5
if
f.atendofstream<>true then
data=data+f.read
li
ne
end
if
next
dataset=dataset+1
wscript.
echo
“data set”
&
dataset & ”:” & data
loop
最后说一下在文件中跳行
skip(x)
跳过
x
个字符
skip
li
ne
跳过一行
用法也很简单
和前面一样,就不说了。
3
、写文件
可以
用
forwriting
和
fora
pp
ending
方式来写
写有
3
各方法:
write(x)
write
li
ne
writeblank
li
nes(n)
写入
n
个空行
来看一个例子:
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
*
data=”hello, I
li
ke script p
ro
graming”
set fs =createobject(“scripting.filesystemobject”)
if
(fs.fileexists(“c:\2.txt”)) then
set f =fs.opentextfile(“c:\2.txt”,8)
f.write data
f.write
li
ne data
f.close
else
set f=fs.opentextfile(“c:\2.txt”,2, true)
f.writeblank
li
nes 2
f.write data
f.close
end
if