«
ASP入门基础教程-文件夹操作

时间:2008-5-31    作者:Deri    分类: 分享


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