霰粒肿不手术会怎么样:第10章 再谈VBScriptwww

来源:百度文库 编辑:九乡新闻网 时间:2024/04/27 03:41:21
第10章 再谈VBScript 返回主页 上一章下一章
10.1 Err对象
10.2 VBScript版本
10.3 FileSystemObject
☆进入DOS状态 ☆写字版 ☆绘图板 ☆进入Editplus

10.1 Err对象本章开头下一节
含有关于运行时错误的信息。接受用于生成和清除运行时错误的 Raise 和 Clear 方法。Err 对象是一个具有全局范围 —的固有对象:不必在您的代码中创建它的示例。Err的属性被一个错误 —的生成器设置:Visual Basic,自动对象,或 VBScript 程序。
Err 对象的默认属性是 number。Err.Number 含有一个整数。
当发生运行时错误时,Err 的属性由标识错误的唯一信息以及可用于处理它的信息填充。要在代码中生成运行时错误,请用 Raise 方法。
Err 对象属性可以被重新设置为零或零长度字符串 ("")。Clear 方法可被用于显式地重新设置 Err。
10.1.1 On Error Resume Next
该指令当出现错误时忽略掉错误,继续运行下一步。
教材范例:Ch10_1.htm
10.1.2 Number
该属性表示当出现错误时的错误编号。引用语法为Err.Number。
教材范例:Ch10_2.htm
10.1.3 Description
该属性表示当出现错误时的错误描述。引用语法为Err.Description。
教材范例:Ch10_3.htm
10.1.4 Raise
该方法生成运行时错误,语法为:
object.Raise(number, source, description, helpfile, helpcontext)
参数
object——应为 Err 对象。
Number——Long 整数子类型,标识错误性质。VBScript 错误(有 VBScript 定义和用户定义两种错误)的范围在 0-65535 之间。
Source——命名最初产生错误的对象或应用程序的string expression。当为 Automation 对象设置此属性时,请使用窗体 project.class。如未作任何指定,则使用当前 VBScript 项目的程序设计 ID。
Description——描述错误的字符串表达式。如未指定,则检查 number 的值。如可将其映射为 VBScript 运行时错误代码,则将 VBScript 提供的字符串作为 description 使用。如没有与 number 对应的 VBScript 错误,则使用通用错误信息。
Helpfile——Help 文件的完整合法的路径,在该 Help 文件中可找到此错误的帮助信息。如未指定,则 VBScript 将使用 VBScript Help 文件的完整合法的驱动器、路径和文件名。
Helpcontext——上下文 ID,标识 helpfile 中提供错误帮助的主题。如果省略,则使用与 number 属性对应的错误的 VBScript Help 文件上下文 ID(如果存在)。
除了 number 以外的所有参数都是可选项的。如果使用 Raise,而不指定某些参数,且 Err 对象的属性设置含有未清除的值,则这些值将成为错误的值。
Err.Clear    '清除错误。
教材范例:Ch10_4.htm
10.1.5 Clear
清除 Err 对象的所有属性设置,语法为:
object.Clear
object 应为 Err 对象的名称。
在错误处理后,使用 Clear 显式地清除 Err 对象,并让程序继续运行下去。
教材范例:Ch10_5.htm
10.1.6 Source
返回或设置最初生成错误的对象或应用程序的名称。
object.Source [= stringexpression]
参数:
object——Err 对象。
stringexpression——字符串表达式,表示生成错误的应用程序。
Source 属性指定一个字符串表达式,此表达式通常是导致错误的对象的类名称或程序设计的 ID。当代码无法处理可访问对象产生的错误时,请使用 Source 为用户提供信息。例如,如果访问 Microsoft Excel 并且产生一个被零除的错误,Microsoft Excel 将 Err.Number 设置为此错误的错误代码并将 Source 设置为 Excel.Application。注意,如果错误产生于另一个由 Microsoft Excel 调用的对象中,则 Excel 截获此错误并且将 Err.Number 设置为它自己的被零除的代码。但是,它保留其他 Err 对象(包括 Source),就象由产生错误的对象设置一样。
Source 总是含有最初产生错误的对象名称,您可根据所访问对象的错误信息文档,编写处理错误的代码。若错误处理程序失败,则可使用 Err 对象信息为用户描述错误,使用 Source 和其他 Err 通知用户最初导致错误的对象、错误描述等等。
在代码中产生错误时,Source 是应用程序的程序设计ID 。
教材范例:Ch10_6.htm

10.2 VBScript版本上一节下一节本章开头
在浏览器的Navigate对象中,有一些属性可以反映浏览器的种类和版本,在VBScriptvs中也有脚本引擎标识,有以下四个标识。
ScriptEngine 函数
ScriptEngine返回一个代表当前使用的脚本程序语言的字符串。
ScriptEngine 函数可返回下列字符串:
字符串 描述
VBScript 表明当前使用的编写脚本引擎是 Microsoft(R) Visual Basic(R) Scripting Edition。
Visual Basic Scripting Edition 表明当前使用的编写脚本引擎是 Microsoft Visual Basic Scripting Edition(R)。
VBA 表明当前使用的编写脚本引擎是 Microsoft Visual Basic for Applications。
下面的示例利用 ScriptEngine 函数返回描述所用书写语言的字符串:
Function GetScriptEngineInfoDim ss = "" '用必要的信息形成字符串。s = ScriptEngine & " Version "s = s & ScriptEngineMajorVersion & "."s = s & ScriptEngineMinorVersion & "."s = s & ScriptEngineBuildVersionGetScriptEngineInfo = s '返回结果。End FunctionScriptEngineMajorVersion 函数
ScriptEngineMajorVersion返回使用的编写脚本引擎的主版本号。
返回值直接对应于所使用的脚本程序语言中 DLL 文件包含的版本信息。
下面的示例利用 ScriptEngineMajorVersion 函数返回编写脚本引擎的版本号:
Function GetScriptEngineInfoDim ss = ""          '用必要的信息形成字符串。s = ScriptEngine & " Version "s = s & ScriptEngineMajorVersion & "."s = s & ScriptEngineMinorVersion & "."s = s & ScriptEngineBuildVersionGetScriptEngineInfo = s       '返回结果。End FunctionScriptEngineMinorVersion 函数
ScriptEngineMinorVersion返回使用的编写引擎引擎的次版本号。
返回值直接对应于所使用的脚本程序语言中 DLL 文件包含的版本信息。
下面的示例利用 ScriptEngineMinorVersion 函数返回编写引擎的副版本号:
Function GetScriptEngineInfoDim ss = "" '用必要的信息形成字符串。s = ScriptEngine & " Version "s = s & ScriptEngineMajorVersion & "."s = s & ScriptEngineMinorVersion & "."s = s & ScriptEngineBuildVersionGetScriptEngineInfo = s '返回结果。End Function
ScriptEngineBuildVersion
ScriptEngineBuildVersion返回使用的编写脚本引擎的编译版本号。
返回值直接对应于所使用的 Scripting 程序语言的 DLL 文件中包含的版本信息。
下面的示例利用 ScriptEngineBuildVersion 函数返回创建的编写脚本引擎版本号:
Function GetScriptEngineInfoDim ss = "" '用必要的信息形成字符串。s = ScriptEngine & " Version "s = s & ScriptEngineMajorVersion & "."s = s & ScriptEngineMinorVersion & "."s = s & ScriptEngineBuildVersionGetScriptEngineInfo = s '返回结果。End Function教材范例:Ch10_7.htm

10.3 FileSystemObject对象上一节本章开头
在为 Active Server Pages、Windows Scripting Host、或其他可以使用 scripting 的应用程序写脚本时,在 Web 服务器上添加、移动、改变、创建或删除文件夹(目录)和文件通常是很重要的。获得有关信息和操作连接在 Web 服务器上的驱动器也可能是必要的。
Scripting 允许用 FileSystemObject (FSO) 对象模式来处理驱动器、文件夹和文件。
10.3.1 基本概念
要用 FileSystemObject (FSO) 对象模式来编程,则:
使用 CreateObject 方法来创建 FileSystemObject 对象。 在新创建的对象上使用适当的方法。 访问对象的属性。
FSO 对象模式包含在 Scripting 类型库中,该库位于 Scrrun.dll 文件中。因而,要使用 FSO 对象模式,必须把 Scrrun.dll 放在 Web 服务器的适当系统目录中。
首先,使用 CreateObject 对象来创建 FileSystemObject 对象, 在 VBScript 中,使用下面的代码来创建 FileSystemObject 的一个实例:
Dim fsoSet fso = CreateObject("Scripting.FileSystemObject")
示例代码示范了如何创建 FileSystemObject 的一个实例。
在 Visual Basic Scripting Edition 中,使用下面的代码来做同样的事情:
var fso;fso = new ActiveXObject("Scripting.FileSystemObject");
在这两个示例中,Scripting 是类型库的名字,而 FileSystemObject 则是想要创建的对象的名字。可以只创建 FileSystemObject 对象的一个实例,而不管试图创建另一个实例的次数。
编程中应使用适当的方法操作文件系统。
10.3.2 GetFile
该方法返回与指定路径中某文件相应的 File 对象。语法为:
object.GetFile(filespec)
参数:
object——必选项。应为 FileSystemObject 的名称。
filespec——必选项。filespec 是指定文件的路径(绝对路径或相对路径)。
如果指定文件不存在,则会出现错误。
下面例子举例说明如何使用 GetFile 方法:
Function ShowFileAccessInfo(filespec)Dim fso, f, sSet fso = CreateObject("Scripting.FileSystemObject")Set f = fso.GetFile(filespec)s = f.Path & "
"s = s & "Created: " & f.DateCreated & "
"s = s & "Last Accessed: " & f.DateLastAccessed & "
"s = s & "Last Modified: " & f.DateLastModifiedShowFileAccessInfo = sEnd Function10.3.3 OpenTextFile
该方法打开指定的文件并返回一个 TextStream 对象,可以读取、写入此对象或将其追加到文件。语法为:
object.OpenTextFile(filename[, iomode[, create[, format]]])
参数:
object——必选项。应为 FileSystemObject 对象的名称。
filename——必选项。字符串表达式,指明要打开的文件名称。
iomode——可选项。输入/输出模式,是下列三个常数之一:ForReading,ForWriting,或 ForAppending。
create——可选项。Boolean 值,指出当指定的 filename 不存在时是否能够创建新文件。允许创建新文件时为 True,否则为 False。默认值为 False。
format——可选项。三个 Tristate 值之一,指出以何种格式打开文件。若忽略此参数,则文件以 ASCII 格式打开。
设置:
iomode 参数可为下列设置之一:
常数 值 描述
ForReading 1 以只读模式打开文件。不能对此文件进行写操作。
ForWriting 2 以只写方式打开文件。不能对此文件进行读操作。
ForAppending 8 打开文件并在文件末尾进行写操作。
format 参数可为下列设置之一:
常数 值 描述
TristateUseDefault -2 以系统默认格式打开文件。
TristateTrue -1 以 Unicode 格式打开文件。
TristateFalse  0 以 ASCII 格式打开文件。
以下代码举例说明如何使用 OpenTextFile 方法打开写文件:
Sub OpenTextFileTestConst ForReading = 1, ForWriting = 2, ForAppending = 8Dim fso, fSet fso = CreateObject("Scripting.FileSystemObject")Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)f.Write "嗨,你好!"f.CloseEnd Sub10.3.4 ReadLine
该方法从 TextStream 文件中读入一整行字符(直到下一行,但不包括下一行字符),并返回结果字符串。语法为:
object.ReadLine
object 应为 TextStream 对象的名称。
下面例子说明如何使用 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教材范例:Ch10_8.htm
10.3.5 Read
该方法从 TextStream 文件中读入指定数目的字符并返回结果字符串。语法为:
object.Read(characters)
参数:
object——必选项。应为 TextStream 对象的名称。
characters——必选项。要从文件读的字符数目。
下面例子举例说明如何使用 Read 方法从文件中读取五个字符并返回字符串结果:
Function ReadTextFileTestConst ForReading = 1, ForWriting = 2, ForAppending = 8Dim fso, f, MsgSet fso = CreateObject("Scripting.FileSystemObject")Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)f.Write "世界你好!"Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)ReadTextFileTest = f.Read(5)End Function10.3.6 ReadAll
该方法读入全部 TextStream 文件并返回结果字符串。
object.ReadAll
object 应为 TextStream 对象的名称。
对于大文件,使用 ReadAll 方法浪费内存资源。应该使用其他技术输入文件,例如按行读文件。
Function ReadAllTextFileConst ForReading = 1, ForWriting = 2Dim fso, fSet fso = CreateObject("Scripting.FileSystemObject")Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)f.Write "世界你好!"Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)ReadAllTextFile = f.ReadAllEnd Function教材范例:Ch10_9.htm
10.3.7 Write
该方法向TextStream 文件写入指定字符串。语法为:
object.Write(string)
参数:
object——必选项。应为 TextStream 对象的名称。
string——可选项。要写入文件的文本。
指定的字符串被写入文件中,字符串之间没有插入空格或字符。使用 WriteLine 方法写入新行字符或以新行字符结束的字符串。
下面例子举例说明如何使用 Write 方法:
Function WriteToFileConst ForReading = 1, ForWriting = 2Dim fso, fSet fso = CreateObject("Scripting.FileSystemObject")Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)f.Write "嗨,你好!"Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)WriteToFile = f.ReadLineEnd Function10.3.8 WriteLine
该方法向 TextStream 文件写入指定字符串和新行字符。语法为:
object.WriteLine([string])
参数:
object——必选项。应为 TextStream 对象的名称。
string——可选项。要写入文件的文本。如果省略,将向文件写入新行字符。
下面例子举例说明如何使用 WriteLine 方法:
Function WriteLineToFileConst ForReading = 1, ForWriting = 2Dim fso, fSet fso = CreateObject("Scripting.FileSystemObject")Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)f.WriteLine "嗨,你好!"f.WriteLine "VBScript 很有趣!"Set f = fso.OpenTextFile("c:\testfile.txt", ForReading)WriteLineToFile = f.ReadAllEnd Function教材范例:Ch10_10.htm
10.3.9 WriteBlankLine
该方法在 TextStream 文件中写入指定数目的新行字符。语法为:
object.WriteBlankLines(lines)
参数:
object——必选项。应为 TextStream 对象的名称。
lines——必选项。要向文件写入的新行字符数目。
10.3.10 CreatTextFile
该方法创建指定文件并返回 TextStream 对象,该对象可用于读或写创建的文件。语法为:
object.CreateTextFile(filename[, overwrite[, unicode]])
参数:
object——必选项。应为 FileSystemObject 或 Folder 对象的名称。
filename——必选项。字符串表达式,指明要创建的文件。
overwrite——可选项。Boolean 值指明是否可以覆盖现有文件。如果可覆盖文件,该值为 True;如果不能覆盖文件,则该值为 False 。如果省略该值,则不能覆盖现有文件。
unicode——可选项。Boolean 值指明是否以 Unicode 或 ASCII 文件格式创建文件。如果以 Unicode 文件格式创建文件,则该值为 True;如果以 ASCII 文件格式创建文件,则该值为 False。如果省略此部分,则假定创建 ASCII 文件。
以下代码举例说明如何使用 CreateTextFile 方法创建并打开文本文件:
Sub CreateAfileDim fso, MyFileSet fso = CreateObject("Scripting.FileSystemObject")Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)MyFile.WriteLine("这是一个测试。")MyFile.CloseEnd Sub
对于 filename 已经存在的文件,如果 overwrite 参数为 False,或未提供此参数时,则会出现错误。
10.3.11 Close
该方法关闭打开的 TextStream 文件。语法为:
object.Close
object 应为 TextStream 对象的名称。
下面例子举例说明如何使用 Close 方法关闭打开的 TextStream 文件:
Sub CreateAFileDim fso, MyFileSet fso = CreateObject("Scripting.FileSystemObject")Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)MyFile.WriteLine("这是一个测试。")MyFile.CloseEnd Sub教材范例:Ch10_11.htm
10.3.12 AtEndOfLine
在TextStream 文件中,如果文件指针指向行末标记,该属性就返回 True;否则如果不是只读则返回 False。语法为:
object.AtEndOfLine
object 应为 TextStream 对象的名称。
AtEndOfLine 属性仅应用于以读方式打开的 TextStream 文件,否则会出现错误。
下列代码举例说明如何使用 AtEndOfLine 属性:
Function ReadEntireFile(filespec)Const ForReading = 1Dim fso, theFile, retstringSet fso = CreateObject("Scripting.FileSystemObject")Set theFile = fso.OpenTextFile(filespec, ForReading, False)Do While theFile.AtEndOfLine <> Trueretstring = theFile.Read(1)LooptheFile.CloseReadEntireFile = retstringEnd Function10.3.13 AtEndOfStream
如果文件指针位于 TextStream 文件末,该属性则返回 True;否则返回 False。语法为:
object.AtEndOfStream
object 应为 TextStream 对象的名称。
AtEndOfStream 属性仅应用于以只读方式打开的 TextStream 文件,否则会出现错误。
下列代码举例说明如何使用 AtEndOfStream 属性:
Function ReadEntireFile(filespec)Const ForReading = 1Dim fso, theFile, retstringSet fso = CreateObject("Scripting.FileSystemObject")Set theFile = fso.OpenTextFile(filespec, ForReading, False)Do While theFile.AtEndOfStream <> Trueretstring = theFile.ReadLineLooptheFile.CloseReadEntireFile = retstringEnd Function教材范例:Ch10_12.htm
10.3.14 FileExists
该属性如果指定的文件存在返回 True;否则返回 False。语法为:
object.FileExists(filespec)
参数:
object——必选项。应为 FileSystemObject 对象的名称。
filespec——必选项。文件名,表示要确定是否存在的文件。如果文件不在当前文件夹中,则必须提供完整路径名(绝对路径或相对路径)。
下面例子举例说明如何使用 FileExists 方法:
Function ReportFileStatus(filespec)Dim fso, msgSet fso = CreateObject("Scripting.FileSystemObject")If (fso.FileExists(filespec)) Thenmsg = filespec & " 存在。"Elsemsg = filespec & " 不存在。"End IfReportFileStatus = msgEnd Function教材范例:Ch10_13.htm
10.3.15 Line
该属性为只读属性,返回 TextStream 文件中的当前行号。语法为:
object.Line
object 通常是 TextStream 对象的名称。
10.3.16 GetFolder
该方法提供对文件夹所有属性的访问。语法为:
object.GetFolder(folderspec)
参数:
object——必选项。应为 FileSystemObject对象的名称。
folderspec——必选项。字符串表达式,指明要创建的文件夹的路径和名称。
以下代码举例说明如何获得 Folder 对象并查看它的属性:
Function ShowDateCreated(folderspec)Dim fso, f,Set fso = CreateObject("Scripting.FileSystemObject")Set f = fso.GetFolder(folderspec)ShowDateCreated = f.DateCreatedEnd Function10.3.17 GetDrive
该方法返回与指定的路径中驱动器相对应的 Drive 对象。语法为:
object.GetDrive drivespec
参数——object
必选项。应为 FileSystemObject 的名称。
drivespec——必选项。drivespec 可以是驱动器号 (c)、带冒号的驱动器号 (c:)、带有冒号与路径分隔符的驱动器号 (c:\) 或任何指定的网络共享 (\\computer2\share1)。
对于网络共享,检查并确保该网络共享存在。
若drivespec与已接受格式不一致或不存在,就会出错。为了在调用 GetDrive 方法时使用标准路径字符串,使用下列序列得到与 drivespec 相匹配的字符串:
DriveSpec = GetDriveName(GetAbsolutePathName(Path))
下面示例说明如何使用 GetDrive 方法:
Function ShowFreeSpace(drvPath)Dim fso, d, sSet fso = CreateObject("Scripting.FileSystemObject")Set d = fso.GetDrive(fso.GetDriveName(drvPath))s = "Drive " & UCase(drvPath) & " - "s = s & d.VolumeName & "
"s = s & "Free Space: " & FormatNumber(d.FreeSpace/1024, 0)s = s & " Kbytes"ShowFreeSpace = sEnd Function 10.3.18 Name
该属性设置或返回指定的文件或文件夹的名称。可读写。语法为:
object.Name [= newname]
参数:
object——必选项。应为 File 或 Folder 对象的名称。
newname——可选项。如果提供此参数,则指定的 object 名称更新为 newname。
以下代码举例说明如何使用 Name 属性:
Function ShowFileAccessInfo(filespec)Dim fso, f, sSet fso = CreateObject("Scripting.FileSystemObject")Set f = fso.GetFile(filespec)s = f.Name & " 位于驱动器 " & UCase(f.Drive) & "
"s = s & "创建时间:" & f.DateCreated & "
"s = s & "上次访问时间:" & f.DateLastAccessed & "
"s = s & "上次修改时间:" & f.DateLastModifiedShowFileAccessInfo = sEnd Function教材范例:Ch10_14.htm
10.3.19 DateCreated
该属性返回指定的文件或文件夹的创建日期和时间。只读。语法为:
object.DateCreated
object 应为 File 或 Folder 对象的名称。
以下代码举例说明如何使用 DateCreated 属性:
Function ShowFileInfo(filespec)Dim fso, fSet fso = CreateObject("Scripting.FileSystemObject")Set f = fso.GetFile(filespec)ShowFileInfo = "创建:" & f.DateCreatedEnd Function10.3.20 DateLastAccessed
该属性返回指定的文件或文件夹的上次访问日期和时间。只读。语法为:
object.DateLastAccessed
object 应为 File 或 Folder 对象的名称。
以下代码举例说明如何使用 DateLastAccessed 属性:
Function ShowFileAccessInfo(filespec)Dim fso, f, sSet fso = CreateObject("Scripting.FileSystemObject")Set f = fso.GetFile(filespec)s = UCase(filespec) & "
"s = s & "创建:" & f.DateCreated & "
"s = s & "最后一次访问:" & f.DateLastAccessed & "
"s = s & "最后一次修改:" & f.DateLastModifiedShowFileAccessInfo = sEnd Function
此属性依赖于操作系统的行为。如果操作系统不支持提供时间信息,则 DateLastAccessed 属性不返回任何值。
10.3.21 DateLastModifyied
该属性返回指定的文件或文件夹的上次修改日期和时间。只读。语法为:
object.DateLastModified
object 应为 File 或 Folder 对象的名称。
以下代码举例说明如何使用 DateLastModified 属性:
Function ShowFileAccessInfo(filespec)Dim fso, f, sSet fso = CreateObject("Scripting.FileSystemObject")Set f = fso.GetFile(filespec)s = UCase(filespec) & "
"s = s & "创建时间:" & f.DateCreated & "
"s = s & "上次访问时间:" & f.DateLastAccessed & "
"s = s & "上次修改时间:" & f.DateLastModifiedShowFileAccessInfo = sEnd Function教材范例:Ch10_15.htm
10.3.22 Size
对于文件,该属性返回指定文件的字节数;对于文件夹,返回该文件夹中所有文件和子文件夹的字节数。语法为:
object.Size
object 应为 File 或 Folder 对象的名称。
以下代码举例说明如何使用 Folder 对象的 Size 属性:
Function ShowFolderSize(filespec)Dim fso, f, sSet fso = CreateObject("Scripting.FileSystemObject")Set f = fso.GetFolder(filespec)s = UCase(f.Name) & " 大小为 " & f.size & " 字节。"ShowFolderSize = sEnd Function教材范例:Ch10_16.htm
10.3.23 Files
表示文件夹中所有 File 对象的集合。
以下代码举例说明如何获得 Folders 集合并使用 For Each...Next 语句枚举集合成员:
Function ShowFolderList(folderspec)Dim fso, f, f1, fc, sSet fso = CreateObject("Scripting.FileSystemObject")Set f = fso.GetFolder(folderspec)Set fc = f.FilesFor Each f1 in fcs = s & f1.names = s & "
"NextShowFolderList = sEnd Function教材范例:Ch10_17.htm
10.3.24 SubFolders
该属性返回由指定文件夹中所有子文件夹(包括隐藏文件夹和系统文件夹)组成的 Folders 集合。语法为:
object.SubFolders
object 应为 Folder 对象的名称。
以下代码举例说明如何使用 SubFolders 属性:
Function ShowFolderList(folderspec)   Dim fso, f, f1, s, sf   Set fso = CreateObject("Scripting.FileSystemObject")   Set f = fso.GetFolder(folderspec)   Set sf = f.SubFolders   For Each f1 in sf      s = s & f1.name      s = s & "
"   Next   ShowFolderList = sEnd Function教材范例:Ch10_18.htm
10.3.25 Copy
该方法将指定的文件或文件夹从某位置复制到另一位置。语法为:
object.Copy destination[, overwrite]
参数:
object——必选项。应为 File 或 Folder 对象的名称。
destination——必选项。复制文件或文件夹的目标位置。不允许使用通配符。
overwrite——可选项。Boolean 值。如果覆盖现有文件或文件夹,则 Boolean 值为 True(默认);否则为 False。
对 File 或 Folder 应用 Copy 方法的结果与使用 FileSystemObject.CopyFile 或 FileSystemObject.CopyFolder 执行的操作完全相同。在 FileSystemObject.CopyFile 或 FileSystemObject.CopyFolder 中,使用 object 引用文件或文件夹,并将文件或文件夹作为参数传递给 FileSystemObject.CopyFile 或 FileSystemObject.CopyFolder。然而,应该注意的是 FileSystemObject.CopyFile 或 FileSystemObject.CopyFolder 方法可以复制多个文件或文件夹。
下列示例显示了 Copy 方法的使用:
Dim fso, MyFileSet fso = CreateObject("Scripting.FileSystemObject")Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)MyFile.WriteLine("这是一个测试")MyFile.CloseSet MyFile = fso.GetFile("c:\testfile.txt")MyFile.Copy ("c:\windows\desktop\test2.txt")教材范例:Ch10_19.htm
10.3.26 CopyFile
该方法将一个或多个文件从某位置复制到另一位置。语法为:
object.CopyFile source, destination[, overwrite]
参数:
object——必选项。应为 FileSystemObject 对象的名称。
source——必选项。表示指定文件的字符串。要复制一个或多个文件时,文件名中可以有通配符。
destination——必选项。表示目标位置的字符串,从 source 复制文件到该位置。不允许用通配符。
overwrite——可选项。Boolean 值表明是否覆盖现有文件。如果是 True,则覆盖文件;如果是 False,则不覆盖现有文件。默认值是 True。要注意,无论 overwrite 设置为何值,只要设置 destination 为只读属性,CopyFile 操作就无法完成。
仅能在 source 参数的路径最后一个组成部分中使用通配符。例如,可以使用:
FileSystemObject.CopyFile "c:\mydocuments\letters\*.doc", "c:\tempfolder\"
但是,不能使用:
FileSystemObject.CopyFile "c:\mydocuments\*\R1???97.xls", "c:\tempfolder"
如果 source 包含通配符或 destination 以路径分隔符 (\) 结束,则假定 destination 是现有文件夹,复制匹配文件到该文件夹。否则,假定 destination 为要创建的文件。在任一种情况下,复制单个文件时,会出现以下三种情况。
如果 destination 不存在,则复制 source。这是通常会发生的情况。 如果 destination 是已经存在的文件,当 overwrite 为 False 时会出现错误。否则,复制 source 覆盖现有文件。 如果 destination 是目录,则会出现错误。
如果 source 使用通配符,但并没有相匹配的文件时,则会出现错误。CopyFile 方法在遇到出现的第一个错误时停止。该方法不会撤消错误发生前所作的任何更改。
10.3.27 CopyFolder
该方法将文件夹从某位置递归复制到另一位置。语法为:
object.CopyFolder source, destination[, overwrite]
参数:
object——必选项。应为 FileSystemObject 对象的名称。
source——必选项。表示指定文件夹的字符串。要复制一个或多个文件夹时,可使用通配符。
destination——必选项。表示目标位置的字符串,复制 source 文件夹或子文件夹到该位置。不允许用通配符。
overwrite——可选项。Boolean 值表明是否覆盖现有文件夹。如果为 True,则覆盖文件;如果为 False,则不覆盖文件。默认值是 True。
仅能在 source 参数的路径最后一个组成部分中使用通配符。例如,可以使用:
FileSystemObject.CopyFolder "c:\mydocuments\letters\*", "c:\tempfolder\"
但是,不可以使用:
FileSystemObject.CopyFolder "c:\mydocuments\*\*", "c:\tempfolder\"
如果 source 包含通配符或 destination 以路径分隔符 (\) 结束,则假定 destination 是现有文件夹,在该文件夹中复制匹配文件夹或子文件夹。否则,假定 destination 是要创建的文件夹。在任一种情况下,复制单个文件夹时,会发生如下四种情况。
如果 destination 不存在,则复制 source 文件夹和其所有内容。这是通常会发生的情况。 如果 destination 是已经存在的文件,则出现错误。 如果 destination 是目录,则复制文件夹和其中的所有内容。如果在 destination 已经存在 source 包含的文件,且 overwrite 为 False,则会出现错误。否则,复制该文件覆盖现有文件。 如果 destination 是只读目录,在向该目录复制现有只读文件,且 overwrite 为 False 时,就会出现错误。
如果 source 使用通配符,但没有匹配文件时,也会出现错误。
CopyFolder 方法在遇到出现的第一个错误时停止。该方法不会撤消错误发生前所作的任何更改。
10.3.28 CreateFolder
该方法创建文件夹。语法为:
object.CreateFolder(foldername)
参数:
object——必选项。应为 FileSystemObject 对象的名称。
foldername——必选项。字符串表达式,指明要创建的文件夹。
如果指定的文件夹已经存在,则会出现错误。
下面例子举例说明如何使用 CreateFolder 方法:
Function CreateFolderDemoDim fso, fSet fso = CreateObject("Scripting.FileSystemObject")Set f = fso.CreateFolder("c:\New Folder")CreateFolderDemo = f.PathEnd Function教材范例:Ch10_20.htm
10.3.29 Delete
创建文件夹。
该方法删除指定的文件或文件夹。语法为:
object.Delete force
参数:
object——必选项。应为 File 或 Folder 对象的名称。
force——可选项。Boolean 值。如果要删除的文件或文件夹的属性设置为只读属性,则该值为 True;否则为 False(默认)。
若指定文件或文件夹不存在,错误发生。有内容的文件夹和无内容的文件夹所使用的Delete方法无异。无论有无内容,指定文件夹皆被删除。
对 File 或 Folder 应用 Delete 方法的结果与使用 FileSystemObject.DeleteFile 或 FileSystemObject.DeleteFolder 执行的操作完全相同。
下面的示例说明了方法的用法 Delete:
Dim fso, MyFileSet fso = CreateObject("Scripting.FileSystemObject")Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)MyFile.WriteLine("这是一个测试。")MyFile.CloseSet MyFile = fso.GetFile("c:\testfile.txt")MyFile.Delete 教材范例:Ch10_21.htm
10.3.30 Move
该方法将指定的文件或文件夹从某位置移动到另一位置。语法为:
object.Move destination
参数:
object——必选项。应为 File 或 Folder 对象的名称。
destination——必选项。目标位置。表示要将文件或文件夹移动到该位置。不允许使用通配符。
对 File 或 Folder 应用 Move 方法的结果与使用 FileSystemObject.MoveFile 或 FileSystemObject.MoveFolder 执行的操作完全相同。然而,要注意的是 FileSystemObject.MoveFile 或 FileSystemObject.MoveFolder 方法可移动多个文件或文件夹。
下面例子举例说明如何使用 Move 方法:
Dim fso, MyFileSet fso = CreateObject("Scripting.FileSystemObject")Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)MyFile.WriteLine(“这是一个测试。”)MyFile.CloseSet MyFile = fso.GetFile("c:\testfile.txt")MyFile.Move "c:\windows\desktop\"教材范例:Ch10_22.htm
10.3.31 AvailableSpace
该属性返回指定的驱动器或网络共享对于用户的可用空间大小。语法为:
object.AvailableSpace
object 应为 Drive 对象的名称。
AvailableSpace 属性与 FreeSpace 属性返回的值基本相同。对于支持限额的计算机系统来说,这两个属性返回的值有所差异。
下面代码举例说明如何使用 AvailableSpace 属性:
Function ShowAvailableSpace(drvPath)Dim fso, d, sSet fso = CreateObject("Scripting.FileSystemObject")Set d = fso.GetDrive(fso.GetDriveName(drvPath))s = "Drive " & UCase(drvPath) & " - "s = s & d.VolumeName & "
"s = s & "可用空间:" & FormatNumber(d.AvailableSpace/1024, 0)s = s & " Kbytes"ShowAvailableSpace = sEnd Function教材范例:Ch10_23.htm
附:服务器端使用文件系统对象(实例在课堂演示):
(请将教案目录VB_Javascript_JX设置为IIS默认网站主目录)
文件拷贝方法之一:copyfile.asp
文件拷贝方法之二:copyfil2.asp
文件拷贝方法之三:copyfil3.asp
文件删除:Delfile.asp
文件移动或文件更名:Movefile.asp
文件读取方法之一:Readall.asp
文件读取方法之二:Readline.asp
客户端与服务器端结合处理文件:File_try.htm
文件内容编辑之一:Edittxt.asp
文件内容编辑之二:Edittxt2.asp

返回主页 上一章下一章