VBS文件处理,FileSystemObject
1:创建文件
创建空文本文件,有二种方法
第一种:
CreateTextFile方法:创建指定的文件并且返回TextStream对象,该对象可以用于读或者写创建的文件
object.CreateFile(filename,[overwrite[,unicode]])
object:FileSystemObject或者Folder对象的名称
overWrite:True(可以覆盖现有文件)False(不能覆盖现有文件)False为默认值
例如:dim fos,myfile
set fos=CreateObject("Scripting.FileSystemObject")
set myfile=fos.CreateTextFile("D:\test.txt",True)
第二种:OpenTextFile方法,并设置ForWrite以及Create参数
OpenTextFile:打开指定的文件并返回一个TextStream对象,可以读取,写入此对象或者将其追加到文件。
object.OpenTextFile(filename[,iomode[,create,[format]]])
object:FileSystemObject对象的名称
iomode:Foreading,ForWriting,ForAppending
create:True(允许新建)False(不允许新建),默认为false
例如:dim fso,f
set fso=CreateObject("Scripting.FileSystemObject")
set f=fso.OpenTextFile("D:\text.txt",2,True)
第三种:OpenAsTextStream方法,并且设置ForWriting标志
OpenAsTextStream:打开指定的文件并且返回一个TextStream对象。此对象用于对文件进行读写或者追加操作。
object.OpenAsTextStream([iomode,[format]])
object:为file对象的名称
例如:dim fos,myfile,ts
const ForWriting=2
set fos=CreateObject("Scripting.FileSystemObject")
fos.CreateTextFile("D:\test.txt",True)
set myfile=fso.GetFile("D:\test.txt")
set ts=myfile.OpenAsTextStream(ForWriting)
2:写入数据[1:开打已有的文本文件或者新创建一个文件2:写入数据3:关闭文件]
打开已有的文本文件:FileSystemObject的OpenTextFile方法,File对象的OpenAsTextStream方法
新创建文件:FileSystemObject或者Folder的CreateTextFile方法,FileSystemObject的OpenTextFile方法
写入数据:TextStream对象的Write,WriteLine,WriteBlankLines方法
关闭文件:TextStream对象的Close方法
例如:Function TextStreamTest
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Dim fso, f, ts
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile "D:\test1.txt" '创建一个文件。
Set f = fso.GetFile("D:\test1.txt")
Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)
ts.Write "嗨,你好"
ts.WriteLine "you"
ts.Close
End Function
3:读取文件中的数据
TextStream对象的Read,ReadAll,ReadLine方法
Read:object.Read(characters) 从TextStream文件中读入指定数据的字符串并且返回结果字符串
ReadAll:object.ReadAll 读入全部 TextStream 文件并返回结果字符串
ReadLine:object.ReadLine 从TextStream 文件中读入一整行字符(直到下一行,但不包括下一行字符),并返回结果字符串
例如:
Function ReadLineTextFile
Const ForReading = 1, ForWriting = 2
Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
MyFile.WriteLine "Hello world!"
MyFile.WriteLine "The quick brown fox"
MyFile.Close
Set MyFile = fso.OpenTextFile("c:\testfile.txt", ForReading)
ReadLineTextFile = MyFile.ReadLine ' Returns "Hello world!"
End Function
4:移动,复制,删除文件
移动:File的Move方法:将制定的文件或者文件夹从某位置移动到另外一个位置
object.Move destination
FileSystemObject对象的MoveFile方法:将一个或多个文件从某位置移动到另一位置。
object.MoveFile source,destination
例子:dim fso
set fso=CreateObject("Scripting.FileSystemObject")
fso.MoveFile "D:\test.txt","C:\"
dim myfile
set myfile=fso.GetFile "D:\test.txt"
myfile.Move "C:\"
复制:File的Copy方法:将指定的文件或者文件夹从某位置复制到另一位置。
object.Copy destination [,overwrite]
FileSystemObject对象的CopyFile方法:将一个或者多个文件从某位置复制到另一位置。
object.CopyFile source,destinatio[,overwrite]
删除:delete 删除指定的文件或者文件夹
object.Delete filespec[,force]
deleteFile 删除指定的文件
object.DeleteDile filespec[,force]
5:其他相关的命令
GetFile
GetFileName
FileExists
Skip
SkipLine