FileSystemObject 示例代码
在本节描述的示例代码,提供真实的例子来示范在 FileSystemObject 对象模式中可用的许多功能。该代码显示了如何一起使用对象模式的所有功能,以及如何在您自己的代码中有效地使用这些功能。
请注意,由于该代码是极一般的,所以要使该代码能够真正在您的机器上运行,可能需要一些其他代码和小小的变更。这些改变之所以必要,是因为在 Active Server Pages 和 Windows Scripting Host 之间,为输入和输出给用户采用了不同的方法。
要在 Active Server Pages 上运行该代码,则采取以下步骤:
创建一个标准的 Web 页,后缀名为 .asp。
把下面的示例代码复制到 <BODY>...</BODY> 标记之间的文件中。
把所有代码包装器到 <%...%> 标记内。
把 Option Explicit 语句从当前位置移动到 HTML 页的最顶部,甚至在 <HTML> 开始标记前。
把 <%...%> 标记放置在 Option Explicit 语句周围,以保证它在服务器端运行。
把下面的代码添加到示例代码末尾:
Sub Print(x)Response.Write "<PRE><FONT FACE=""宋体"" SIZE=""1"">"Response.Write xResponse.Write "</FONT></PRE>"End SubMain
前面的代码增加一个将在服务器端运行,但在客户端显示结果的打印过程。要在 Windows Scripting Host 上运行该代码,则把下面的代码添加到示例代码的末尾:
Sub Print(x)WScript.Echo xEnd SubMain
下面就是示例代码:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' FileSystemObject示例代码'Copyright 1998 Microsoft Corporation。 保留所有权利。''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Option Explicit'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''对于代码质量:' 1)下面的代码有许多字符串操作,用"&"运算符来把短字符串连接在一起。由于'字符串连接是费时的,所以这是一种低效率的写代码方法。无论如何,它是'一种非常好维护的写代码方法,并且在这儿使用了这种方法,因为该程序执行'大量的磁盘操作,而磁盘操作比连接字符串所需的内存操作要慢得多。'记住这是示范代码,而不是产品代码。'' 2)使用了"Option Explicit",因为访问声明过的变量,比访问未声明的变量要'稍微快一些。它还能阻止在代码中发生错误,例如,把DriveTypeCDROM误拼'成了DriveTypeCDORM。'' 3)为了使代码更可读,该代码中没有错误处理。虽然采取了防范措施,来保证代码'在普通情况下没有错误,但文件系统是不可预知的。在产品代码中,使用' On Error Resume Next和Err对象来捕获可能发生的错误。'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''一些容易取得的全局变量''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Dim TabStopDim NewLineConst TestDrive = "C"Const TestFilePath = "C:\Test"'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''由Drive.DriveType返回的常数''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Const DriveTypeRemovable = 1Const DriveTypeFixed = 2Const DriveTypeNetwork = 3Const DriveTypeCDROM = 4Const DriveTypeRAMDisk = 5'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''由File.Attributes返回的常数''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Const FileAttrNormal = 0Const FileAttrReadOnly = 1Const FileAttrHidden = 2Const FileAttrSystem = 4Const FileAttrVolume = 8Const FileAttrDirectory = 16Const FileAttrArchive = 32Const FileAttrAlias = 64Const FileAttrCompressed = 128'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''用来打开文件的常数''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Const OpenFileForReading = 1Const OpenFileForWriting = 2Const OpenFileForAppending = 8''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ShowDriveType'目的:'生成一个字符串,来描述给定Drive对象的驱动器类型。'示范下面的内容' - Drive.DriveType''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Function ShowDriveType(Drive)Dim SSelect Case Drive.DriveTypeCase DriveTypeRemovableS = "Removable"Case DriveTypeFixedS = "Fixed"Case DriveTypeNetworkS = "Network"Case DriveTypeCDROMS = "CD-ROM"Case DriveTypeRAMDiskS = "RAM Disk"Case ElseS = "Unknown"End SelectShowDriveType = SEnd Function''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ShowFileAttr'目的:'生成一个字符串,来描述文件或文件夹的属性。'示范下面的内容' - File.Attributes' - Folder.Attributes''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Function ShowFileAttr(File) ' File可以是文件或文件夹Dim SDim AttrAttr = File.AttributesIf Attr = 0 ThenShowFileAttr = "Normal"Exit FunctionEnd IfIf Attr And FileAttrDirectory Then S = S & "Directory "If Attr And FileAttrReadOnly Then S = S & "Read-Only "If Attr And FileAttrHidden Then S = S & "Hidden "If Attr And FileAttrSystem Then S = S & "System "If Attr And FileAttrVolume Then S = S & "Volume "If Attr And FileAttrArchive Then S = S & "Archive "If Attr And FileAttrAlias Then S = S & "Alias "If Attr And FileAttrCompressed Then S = S & "Compressed "ShowFileAttr = SEnd Function''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' GenerateDriveInformation'目的:'生成一个字符串,来描述可用驱动器的当前状态。'示范下面的内容' - FileSystemObject.Drives' - Iterating the Drives collection' - Drives.Count'

