Vbscript 脚本编程3 关于文件的读写
By ss sa 2000
7/9/ 2004
使用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
注意 写完文件以后一定要关闭!!!!!!! 还有就是,如果要读文件又要写文件,读完之后一定也要记得关闭,这样才能以写的方式打开。
好了 关于文件都说完了,实际运用中还有可能牵扯到关于字符串的操作。
后面的1章里面,我打算写一点驱动器和注册表的内容,脚本编程内容也很丰富,我也只讲关于黑客方面的。今天好累啊,还有就是请大家不要在论坛灌水了,我每天都删贴,这样也不好,论坛是大家的,我每天写一些原创的东西也就是为了让我们的论坛和别的论坛有些不同,我一个人力量有限,还要靠大家的力量,我打算在论坛上找几个人一论坛的名义一起编个软件,这样我们的论坛也算有点名声。
很晚了,休息了。