新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论.NET,C#,ASP,VB技术
    [返回] 中文XML论坛 - 专业的XML技术讨论区计算机技术与应用『 Dot NET,C#,ASP,VB 』 → ASP编程入门进阶(连载)[转帖] 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 65970 个阅读者浏览上一篇主题  刷新本主题   平板显示贴子 浏览下一篇主题
     * 贴子主题: ASP编程入门进阶(连载)[转帖] 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     Qr 帅哥哟,离线,有人找我吗?
      
      
      威望:9
      等级:博士二年级(版主)
      文章:4392
      积分:29981
      门派:XML.ORG.CN
      注册:2004/5/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 Dot NET,C#,ASP,VB 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客楼主
    发贴心情 

    (十六):FSO组件之驱动器操作


    FSO,正如UFO般令人激动、令人神往,当然更多的亦是让人欢喜让人忧。君不见某空间服务商广告:100MB空间只要60RMB/年,支持数据库,支持什么什么……一问不支持FSO,立马泄气。那FSO究竟是什么东西,它的力量又是如何巨大,其操作的原理又是怎的怎的呢?这次来个彻底的理解。

    首先,FSO是FileSystemObject的简称。当然也就是我们的俗称FSO组件了,该组件可以用来处理驱动器、文件夹以及文件。

    它可以检测并显示出系统驱动器的信息分配情况;还能够创建、改变、移动和删除文件夹,并能探测一些给定的文件夹是否存在,若存在,还能提取出该文件夹的信息,如名称、被创建或最后一次修改的日期,等等。FSO还使得对文件的处理变得很容易。

    一、fso.GetDrive

    正如其它组件的建立一样,FSO的引用也必须建立连接。


    Set fso=Server.CreateObject("Scripting.FileSystemObject")

    注意CreateObject的内部再也不是MSWC了,而是Scripting。
    那下面就可以通过fso来处理驱动器了。比如fso.GetDriveName提取驱动器名,fso.GetDrive同样提取标准驱动器名。比如:

    1,fso.asp


    <%Set fso=Server.CreateObject("Scripting.FileSystemObject")%>
    <%=fso.GetDriveName("d:")%><br>
    <%=fso.GetDrive("d:")%>

    你会发现GetDriveName("d:")就是“d:”,而GetDrive("d:")则为标准的“D:”,所以我们一般这样写fso.GetDrive(fso.GetDriveName(drvPath))来提取某个具体的驱动盘。

    二、drv.GetInfo
    上面已经把某个特定的驱动器提取了,那接着是不是提取该驱动盘的具体信息。

    2,drv.asp


    <%
    Set fso=Server.CreateObject("Scripting.FileSystemObject")
    Set drv=fso.GetDrive(fso.GetDriveName("d:"))
    %>
    该盘的空间大小:<%=drv.TotalSize%><br>
    该盘的剩余空间大小:<%=drv.FreeSpace%>

    以上只是提取的D盘驱动器的信息,来个通用的函数,继续分别测试自己的驱动吧。

    3,drvinfo.asp


    <%
    Function ShowDriveInfo(drvPath)
    Dim fso, drv, s
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set drv = fso.GetDrive(fso.GetDriveName(drvPath))
    s = "驱动盘" & drv & "的卷标是:"
    s = s & drv.VolumeName & "<br>"
    s = s & "总计空间:" & drv.TotalSize & "<br>"
    s = s & "剩余空间:" & drv.FreeSpace & "<br>"
    s = s & "文件类型:" & drv.DriveType & "<br>"
    s = s & "文件系统:" & drv.FileSystem
    Response.Write s
    End Function
    %>
    <%
    on error resume next
    whatpath=request.form("path")
    if whatpath<>"" then
    ShowDriveInfo(whatpath)
    end if%>
    <form action="drvinfo.asp" method="post">
    <input name="path">
    <input type="submit">
    </form>


    其中的drv.TotalSize和drv.FreeSpace返回的是字节数,我们可以用FormatNumber()函数处理下。比如FormatNumber(Drive.TotalSize/1024,0)得到一眼就知磁盘多少G的值。

    还有一个文件类型:drv.DriveType最多的时候是显示数值“2”,其实“2”就表示的“硬盘驱动器”,“1”表示“软盘驱动器”,“4”表示“光盘驱动器”……

    下面就用一个程序遍历显示自己机器上所有驱动器的信息

    4,showall.asp


    <%
    Function tran(Driver)
    Select Case Driver
    Case 0: tran="设备无法识别"
    Case 1: tran="软盘驱动器"
    Case 2: tran="硬盘驱动器"
    Case 3: tran="网络硬盘驱动器"
    Case 4: tran="光盘驱动器"
    Case 5: tran="RAM虚拟磁盘"
    End Select
    End Function
    set fso=Server.CreateObject("Scripting.FileSystemObject")
    %>

    <table border=1 width="100%">
    <tr>
    <td>盘符</td>
    <td>类型</td>
    <td>卷标</td>
    <td>总计大小</td>
    <td>可用空间</td>
    <td>文件系统</td>
    <td>序列号</td>
    <td>是否可用</td>
    <td>路径</td>
    </tr>
    <%
    on error resume next
    For each drv in fso.Drives
    Response.Write "<tr>"
    Response.Write "<td>" & drv.DriveLetter & "</td>"
    Response.write "<td>" & tran(drv.DriveType) & "</td>"
    Response.write "<td>" & drv.VolumeName & "</td>"
    Response.write "<td>" & FormatNumber(drv.TotalSize / 1024, 0)& "</td>"
    Response.write "<td>" & FormatNumber(drv.Availablespace / 1024, 0) & "</td>"
    Response.write "<td>" & drv.FileSystem & "</td>"
    Response.write "<td>" & drv.SerialNumber & "</td>"
    Response.write "<td>" & drv.IsReady & "</td>"
    Response.write "<td>" & drv.Path & "</td>"
    Response.Write "</tr>"
    Next
    set fs=nothing
    %>
    </table>

    http://www.cnbruce.com/code/showall.asp

    恩,是不是很神气?那你可以对自己的机器调试,然后上传到自己的空间去调试,你会发现服务商会你进行了些设置:)
    当然更神的还在后面面,比如对文件夹,对文件的操作(包括添加、修改和删除)。ps:你对驱动器是不能轻易添加删除的:)

    ----------------------------------------------
    没人帮忙,那就靠自己,自己才是最好的老师!本人拒绝回答通过站内短消息提出的问题!

    blog:http://Qr.blogger.org.cn

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/1/14 13:38:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Dot NET,C#,ASP,VB 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/10 15:58:29

    本主题贴数30,分页: [1] [2] [3]

     *树形目录 (最近20个回帖) 顶端 
    主题:  ASP编程入门进阶(连载)[转帖](3629字) - Qr,2005年1月14日
        回复:  需要操作系统的安装盘的(22字) - galen,2006年3月24日
        回复:  需要将windows xp professional service pack 2 CD ..(267字) - 串烧,2006年2月21日
        回复:  (十二)缺(8字) - Qr,2005年1月14日
            回复:  [B](十三):Ad & Content Rotator[/B]ASP的强大不仅仅局限于接受..(9020字) - Qr,2005年1月14日
                回复:  [B](十四):Browser & Linking[/B]Browser Capabilit..(6449字) - Qr,2005年1月14日
                    回复:  [B](十五):组件Counters[/B]该组件用于创建一个或多个计数器,这些计数器用于跟..(4411字) - Qr,2005年1月14日
                        回复:  [B](十六):FSO组件之驱动器操作[/B]FSO,正如UFO般令人激动、令人神往,当然更..(4195字) - Qr,2005年1月14日
                            回复:  [B](十七):FSO组件之文件夹操作[/B]操作完驱动器,接着就是来操作文件夹了。其中包括..(4476字) - Qr,2005年1月14日
                                回复:  [B](十八):FSO组件之文件操作(上)[/B]FSO中除了可以对驱动器、文件夹的操作以外..(4246字) - Qr,2005年1月14日
                                    回复:  [B](十八):FSO组件之文件操作(中)[/B]学会了FSO提取文件值,也学会了将信息输入..(7381字) - Qr,2005年1月14日
                                        回复:  [B](十八):FSO组件之文件操作(下)[/B]一,fso.GetFile 提取文件相..(2638字) - Qr,2005年1月14日
                                            回复:  [B](二十):ADO组件之插入数据记录[/B]简单的显示记录已经掌握,现在需要的就是通过A..(5899字) - Qr,2005年1月14日
                                            回复:  [B](二十):ADO组件之显示数据记录[/B]学习ASP的万里长征就快到终点了:等把AS..(7065字) - Qr,2005年1月14日
                                            回复:  [B](十九):ASP技巧累加(二)[/B]严格控制Session 可以将不需要Sess..(2901字) - Qr,2005年1月14日
        回复:  认识表单(7832字) - Qr,2005年1月14日
            回复:  [B](三):接触脚本程序[/B]有了前面的html中关于form的强化知识,是不是在想,下面..(10511字) - Qr,2005年1月14日
                回复:  [B](四):内置对象Request[/B]系统学习ASP,就是先从ASP的几大内置对象开始的..(7333字) - Qr,2005年1月14日
                    回复:  [B](五):内置对象Response[/B]通过对Request对象的学习,可以了解到,Req..(8632字) - Qr,2005年1月14日
                        回复:  [B](六):Cookies讲座[/B]什么是 Cookie?Cookie 其实是一个标签,经..(6636字) - Qr,2005年1月14日

    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    93.750ms