返回列表 回复 发帖

[贴士] 写入文件

发脚本之前,我想讲一下关于写入文件的问题,看了几个教程,对于我这样的菜鸟十分生涩,很难理解。我觉得有必要再讲讲,以下是我自己理解的,可能不对,请高手指教。
首先讲这个:
VBS Const ForReading=1
VBS Const ForWriting=2
VBS Const ForAppending=8
也有这样写的
VBS Const ForReading=1:VBS Const ForWriting=2:VBS Const ForAppending=8
其实这是不用写的,这只是一个参数解释,告诉你当参数=1是是以读方式打开文件;=2时是以写方式
打开文件,=8时是以追加写方式打开文件。那么这个参数1,2,8写在那里呢?下面再说。
其次我们来看这个:
VBS Set a = CreateObject("Scripting.FileSystemObject")
这个最不好理理解,不过好在我们不用理解,你只要记住,不论生成文件还是打开文件,在前面都要加
这么一句就可以了。其中除了a是变量名称可以改以外,其它的照搬就是了。
接着我们来看
VBS Set f=a.CreateTextFile(filename)
这句是生成文件的,不光TXT文件,也可以生成htm文件等,括号中是要生成的文件路径及名称,如:“c:\1.txt”,一定要加引号的。还有就是,这句里有两个变量名f和a,前面的f是写的时候用的,后面的a要和上一句的变量名一致。
总结一下就是说,我们想在c盘下生成一个1.txt文件,只要以下2句就可以做到:
VBS Set a = CreateObject("Scripting.FileSystemObject")
VBS Set f=a.CreateTextFile("c:\1.txt")
要注意,这样创建的文件是用写方式打开的,我们可以用下面这句来写入内容:
VBS f.WriteLine("内容")
但这样写入会覆盖上一次写入的内容,所以不想覆盖就要用到下面这句
VBS set f=a.opentextfile("c:\1.txt",8,True)
这句的意思是以追加的方式打开“c:\1.txt”,如果不存在则生成一个。其中的8,就是参数,我们上面讲过,它如果是1或2时是什么意思。
要是我以上讲的你都不理解,你就记住,用追加写方式打开一个文件,写入文本“1”,没有的话就生成一个再写入,只要这样写就好了:
VBS Set a = CreateObject("Scripting.FileSystemObject")
VBS set f=a.opentextfile("c:\1.txt",8,True)
VBS f.WriteLine("1")
就三句话,复制就好了。


有朋友问我,这样写为什么是一个数字一行,能不能象正常那样写。
呵呵,这个要说明下,昨天太匆忙,忘了,这里先看下面:
VBS f.WriteLine("0")
这句就是写一个0再加一个换行符再来看这个
VBS f.Write("0")
明白了吧,这个就是不加换行符,OK,把上面的第一到第九个VBS f.WriteLine换成VBS f.Write,再把VBS f.WriteLine("回车"),改成VBS f.WriteLine(""),就好了,就能象正常输入那样了。
简单就好!
返回列表