FSO 对象模式包含在 Scripting 类型库中,该库位于 Scrrun.dll 文件中。因而,要使用 FSO 对象模式,必须把 Scrrun.dll 放在 Web 服务器的适当系统目录中。
要用 FileSystemObject (FSO) 对象模式来编程,则:
- 使用 CreateObject 方法来创建 FileSystemObject 对象。
- 在新创建的对象上使用适当的方法。
- 访问对象的属性。
1.创建FSO对象
使用 CreateObject 对象来创建 FileSystemObject 对象, 在 VBScript 中,使用下面的代码来创建 FileSystemObject 的一个实例:
Dim fso
Set fso =CreateObject("Scripting.FileSystemObject")
在 Visual Basic Scripting Edition 中,使用下面的代码来做同样的事情:
var fso;
fso =new ActiveXObject("Scripting.FileSystemObject");
在这两个示例中,Scripting 是类型库的名字,而 FileSystemObject 则是想要创建的对象的名字。
2.FSO对象属性方法
要创建一个新的对象,则使用 CreateTextFile 或 CreateFolder (FSO 对象模式不支持驱动器的创建或删除)。
要删除对象,则使用 FileSystemObject 对象的 DeleteFile 和 DeleteFolder 方法,或 File 和 Folder 对象的 Delete 方法。也可以使用适当的方法,来复制和移动文件与文件夹。
实例:Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CreateFolder("D:\123")
objFile.CreateTextFile("D:\123.vbs")
Set objFSO = nothing
或: Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.CreateFolder("D:\123")
objFolder.delete
Set objFolder = nothing
Set objFSO = nothing
访问现有驱动器、文件和文件夹,使用FSO对象中的适当的 "get" 方法:
- GetDrive
- GetFolder
- GetFile
在 VBScript 中要访问现有文件:
Dim fso, f1
Set fso =CreateObject("Scripting.FileSystemObject")
Set f1 =fso.GetFile("c:\test.txt") '返回test.txt文件的路径“c:\test.txt”
'GetFile 返回与指定文件的路径,参数可以是绝对路径和相对路径,如果指定的文件不存在将出现错误
不要对新创建的对象使用 "get" 方法,因为 "create" 函数已经返回那个对象的一个句柄。例如,如果使用 CreateFolder 方法创建了一个新的文件夹,则不要使用 GetFolder 方法来访问它的属性,如 Name、Path、Size等等。只需设一个变量给 CreateFolder 函数,来获得新创建文件夹的句柄名,然后访问它的属性、方法和事件。要在 VBScript 中这样做,则使用下面的代码:
Sub CreateFolder
Dim fso, fldr
Set fso =CreateObject("Scripting.FileSystemObject")
Set fldr =fso.CreateFolder("C:\MyTest")
Response.Write "Created folder: " & fldr.Name
End Sub
常用方法属性实例:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(wscript.scriptfullname)
'获取当前执行文件所在的路径
getProjectPath = objFSO.GetParentFolderName(objFile) '获取文件或文件夹所在路径的上一级目录
Set objFSO = Nothing
Set objFile = Nothing
参考:http://www.jb51.net/shouce/vbs/sgprogrammingfilesystemobject-1.htm