当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP编程入门进阶(十七):FSO组件之文件夹操作

ASP
Access 2000 数据库 80 万记录通用快速分页类
Microsoft JET Database Engine 错误 ''80004005'' 未指定的错误的完美解决方法
收藏的ASP常用的函数集
asp分页的一个类
ASP开发网页牢记注意事项
ASP下操作Excel技术总结分析
ASP数据岛操作类
ASP经典分页类
asp论坛在线人数统计研究
ASP调用SQL SERVER存储程序
asp输出bmp
ASP连接数据库的全能代码
ASP面向对象编程探讨及比较
web文件管理器的后续开发
一小偷类!!有兴趣的可以看看
利用ASP实现事务处理的方法
大数量查询分页显示 微软的解决办法
如何把ASP编写成DLL
asp实现树型结构
超级ASP大分页_我的类容我做主

ASP编程入门进阶(十七):FSO组件之文件夹操作


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 99 ::
收藏到网摘: n/a

操作完驱动器,接着就是来操作文件夹了。其中包括:提取文件夹信息、创建文件夹、删除文件夹、复制文件夹、移动文件夹等。下面就具体来看。
一、fso.GetFolder
一看就明白,是提取文件夹了。那具体是提取哪个文件夹呢?后面肯定要跟一个文件夹的路径。提取出来了再来显示该文件夹相关信息呢?是不是有要具体提取下去。所以,看程序:
1,getfldr.asp

<%
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.GetFolder("c:\Program Files")
Response.Write "父文件夹名字是:" & fldr & "<br>"
If fldr.IsRootFolder = True Then
Response.Write "该文件夹是一根文件夹" & "<br>"
Else
Response.Write "该文件夹不是根文件夹" & "<br>"
End If
Response.Write "驱动器名字是:" & fldr.Drive & "<br>"
%>

首先建立FSO组件的连接是必不可少的啦,然后Set fldr = fso.GetFolder("c:\Program Files")设定fldr对象被赋值,以作下面程序的引用。
fldr.IsRootFolder即为判断该文件夹是否为一根文件夹,值为布尔值(true or false);fldr.Drive则显示该文件夹所在的驱动器号了。
二、fso.CreateFolder
下面比较让人激动的是通过ASP建立文件夹了,你可以在你的权力范围内任意位置建立任意文件夹。
2,creatfldr.asp

<%
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateFolder ("c:\cnbruce")
Response.Write "文件夹名为" & fso.GetBaseName("c:\cnbruce")
%>

执行程序,应该发现C盘多出了cnbruce文件夹,fso.GetBaseName则是提取文件夹名。
三、fso.DeleteFolder
通过ASP可以建立了文件夹,则同样可以删除文件夹。
3,delfldr.asp

<%
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFolder("c:\cnbruce")
Response.Write "文件夹已删除"
%>

发现刚建立的cnbruce文件夹确实已被删除。
注意,有时需要删除文件夹,而该文件夹不存在时,会出现程序逻辑性错误。则应先判断文件夹的状态。


<%
dir=server.mappath("cnbruce")
Set fso = CreateObject("Scripting.FileSystemObject")
if (fso.FolderExists(dir)) then
fso.DeleteFolder(dir)
response.write("cnbruce文件夹已经删除")
else
fso.CreateFolder(dir)
response.write("cnbruce文件夹已经建立")
end if
%>

那下面就采用一个通用程序来灵活应变下。
4,mainflr.asp

<%
Sub CreateAFolder(file)
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateFolder(file)
response.write "已经建立了"&file
End Sub
Sub DeleteAFolder(file)
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFolder(file)
response.write "已经删除了"&file
End Sub
%>
<%
subname=request.form("submit")
create=request.form("create")
del=request.form("del")
if subname<>"" then
if create<>"" then
call CreateAFolder(""&create&"")
end if
if del<>"" then
call DeleteAFolder(""&del&"")
end if
end if
%>
<form action="mainflr.asp" method="post">
<input name="create">
<input type="submit" value="建立" name="submit">
</form>
<hr>
<form action="mainflr.asp" method="post">
<input name="del">
<input type="submit" value="删除" name="submit">
</form>

需要注意的是:删除并不会提示“确认要放入回收站”这项。这点你需要谨慎处理,特别是对你的系统文件夹。
四、fso.MoveFolder
主要作用是进行文件夹的移动,相当于剪切粘贴动作。
5,movefldr.asp

<%
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateFolder ("c:\cnbruce")
fso.MoveFolder "c:\cnbruce", "C:\Program Files\"
%>
<a href="C:\Program Files\">查看cnbruce文件夹有没有移动过来</a>

格式:fso.MoveFolder "被移动的文件夹","移动到的文件夹"
本程序先是在C盘下建立了cnbruce文件夹,然后将其移动到C:\Program Files\文件夹下面。
不过同样需要注意的是你的系统文件夹不能乱移动。
五、fso.CopyFolder
主要作用:将文件夹从某位置复制到另一位置。
6,copyfldr.asp

<%
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFolder "c:\Program Files\cnbruce", "c:\"
%>
<a href="C:\">查看cnbruce文件夹有没有复制过来</a>

该程序是建立在上一movefldr.asp的执行结果基础之上来完成复制到C盘根目录下的。(话比较长-_-!)
当然,其拷贝也是将该文件夹包括里面所以子文件夹和文件统统拷贝。
到最后再试着将c:\Program Files\cnbruce和c:\cnbruce两个文件夹进行删除掉吧。
不过,继续提醒你:不要写错了,比如写成c:\Program Files,那你就惨了:这叫玩命,学ASP玩出心跳出来了。
对文件夹的操作差不多了,是不是感到用处比较大?有训言:好东西是把双刃剑。正义和邪恶就只一线间,注意正规合理利用该组件。不过还有你放心的是,现在网站空间服务商对这权力已经限定得死死的了,你再怎么闹翻也不会冒泡的:)
然后接下来就是更微妙的:FSO对文件的操作。