ASP-文件夹操作.(舒克) 文件夹操作主要包括创建、复制、移动和删除文件夹,检查文件夹是否存在以及指定路径中某文件夹中相应的文件对象。完成这些操作可以使用 FileSystemObjec对象或 Folder 对象的方法。 一、使用 FileSystemObject 对象的相应方法进行文件夹进行操作 1、使用 FileSystemObject 对象创建文件夹时,先要创建 FileSystemObject 对象,再使用它的 CreateFolder 方法创建文件夹对象,其语法格式如下: fso.CreateFolder(foldername) 参数 object 指定 FileSystemObject 对象的名称。foldername 是一个字符串表达式,用于指定要创建的文件夹。 2、复制文件夹:将一个或多个文件夹复制到其他位置上,语法格式如下: <% fso.CopyFolder source,destination[,overwrite] %> * fso :指定 FileSystemObject 对象的名称; * source :表示指定源文件夹的字符串,要复制一个或多个文件夹时,可以有通配符; * destination :表示目标位置的字符串,从 source 复制文件夹到该位置,不允许使用通配符; * overwrite :是可选参数,取 Boolean 值,表明是否覆盖现有文件夹:如果是 True (默认值),则覆盖;如果是 False ,则不覆盖。 注: * 只能在 Source 参数的路径最后一个组成部分中使用通配符。 * 如果 destination 不存在,则复制 Source 文件夹及其所有内容; * 如果 destination 是已经存在的文件夹,则会出现错误; * 如果 destination 是目录,则复制文件夹和其中的所有内容。如果在 destination 中已经存要 source 包含的文件,且 overwrite 为 False ,则会出现错误,否则,复制该文件覆盖现有文件。 * 如果 destination 是只读目录,在向该目录复制现有喜人读文件,且 overwrite 为 False 时,就会出现错误。; * 如果 source 使用通配符,但没有匹配的文件时,将会出现错误; * CopyFolder 方法在遇到出现的第一个错误时停止。该方法不会撤消错误发生前所做的任何更改。 3、移动文件夹:将一个或多个文件夹从某位置移动到另一个位置,语法格式如下: <% fso.MoveFolder source,destination %> * fso :指定 FileSystemObject 对象的名称; * source :指定要移动的文件夹的路径,该参数字符串只可在路径的最后一个组成部分中用通配符; * destination :指定路径,表示要将文件夹移动到该目标位置,该参数不能包含通配符。 注: * 如果 destination 不存在,则进行文件夹移动; * 如果 destination 是已经存在的文件夹,则会出现错误; * 如果 destination 是目录,则会出现错误; * 如果 source 使用通配符但没有匹配的文件时,将会出现错误; * MoveFolder 方法在遇到出现的第一个错误时停止。该方法不会撤消错误发生前所做的任何更改。 4、删除文件夹:删除指定的文件夹,语法格式如下: <% fso.DeleteFolder filespec[.force] * fso:指定 FileSystemObject 对象的名称; * filespec 指定要删除的文件夹名称,在路径的最后一个组成部分中可以包含通配符; * force:是可选参数,取Boolean 值,如果要删除只读文件夹,则该值为 True,否则为 False (默认)。; * 如果没有找到匹配文件,将会出现错误。DeleteFile 方法在遇到出现的第一个错误时停止。该方法不会撤消错误发生前所做的任何更改。 5、检查指定的文件夹是否存在,如果该文件夹存在,则返回 True,,否则返回 False。语法格式如下: <% object.FolderExists(folderspec) %> 6、使用 GetFolder 方法返回与指定的路径中某文件相应的 Folder 对象。其语法格式如下: <% object.GetFolder(folderspec) object 指定FileSystemObject 的名称,folderspec 指定文件夹的路径。如果指定的文件夹不存在,则会出现错误。 7、 使用 GetParentFolderName 方法返回一个字符串,该字符串包含指定的路径中最后一个文件或文件夹的父文件夹。其语法格式如下: object.GetParentFolderFolderName(Path) path 指定路径,给出要返回文件或文件夹的父文件夹名。如果 GetParentFolderName 方法返回零长度字符串('“”)。另外,GetParentFolder 方法只能对提供的 Path 字符串起作用。它不能试图分析一个路径,也不能检查指定的路径是否存在。 实例(folder/1.asp):使用 FileSystemObject 对象完成文件夹的创建、复制、移动、检查和删除操作。代码如下: <%@ language="vbscript" %> <html> <head><title>文件夹操作示例</title></head> <body> <% Dim fso Set fso=Server.CreateObject("Scripting.FileSystemObject") %> <p>正在创建文件夹......</p> <% fso.CreateFolder(Server.MapPath("newfolder")) %> <p>正在复制文件夹......</p> <% fso.CopyFolder Server.MapPath("newfolder"),Server.MapPath("newfolder1") %> <p>正在移动文件夹......</p> <% fso.MoveFolder Server.MapPath("newfolder1"),Server.MapPath("newfolder2") %> <p>检查newfolder1文件夹是否存在......</p> <% if (fso.FolderExists(newfolder1)) then response.write "newfolder1 文件夹存在" Else Response.write "newfolder1 文件夹不存在" end if %> <p>正在删除文件夹......</p> <% fso.DeleteFolder Server.MapPath("newfolder") %> <% fso.DeleteFolder Server.MapPath("newfolder2") %> </body> </html> 二、使用 Folder 对象的操作文件夹 1、Folder 对象的方法Folder 对象的方法 方 法 描 述 Cope 将指定的文件夹从某位置复制到另一位置。 Move 将指定的文件夹从某位置移动到另一位置。 Delete 删除指定的文件夹及其所有的内容。 2、Folder 对象属性 Folder 对象属性 属 性 描 述 Files 返回由指定文件夹中所有 File 对象(包括隐藏文件和系统文件)组成的 Files集合。 Name 设置或返回指定的文件夹的名称。 ParentFolder 返回指定文件夹的父文件夹。 Size 返回指定文件夹中所有文件和子文件夹的字节数。 SubFolders 返回由指定文件夹中所有子文件夹(包括隐藏文件夹和系统文件夹)组成的 Folders 集合。 IsRootFolder 检查指定的文件夹是不是根文件夹,如果是根文件夹,则返回 True;否则返回 False。 3、实例2(2/folder.asp):列出当前文件夹中所有文件的名称和字节数,其代码如下: <html> <head> <title>文件夹操作示例</title> </head> <body> <% Dim fso,fld,f Set fso=Server.CreateObject("Scripting.FileSystemObject") Set fld=fso.GetFolder(Server.MapPath(".")) %> <table align="center" border="1" cellspacing="0" width="50%"> <caption><b>当前文件夹中的文件列表(共<%=fld.files.Count %>个文件)</b></caption> <tr bgcolor="#caeeff"><th>文件名</th><th>字节数</th> <% for Each f in fld.Files %> <tr><td><%=f.name %></td><td><%=f.size %></td></tr> <% next %> </table> </body> </html>