程序员的出路

alex.w的Blog

导航

ASP FSO详解-对驱动器的操作

Posted on 2008-10-15 15:10  alex.w  阅读(277)  评论(0)    收藏  举报

ASP作为一门入门级动态网页语言,却因为微软偏爱小儿子asp.net而遭遗弃,致使目前asp年过花甲无人料理...外强php乘虚而入~~ 国外已经将近80%的网站采用了PHP技术,国内至今asp仍有40%的江山,但也多为半死状态的小网站。 估计本人也是中国最后一个学asp的了。。。 废话到此。

 

FSO作为ASP最重要的内置组件,有必要彻底了解FSO的语法。

定义FileSystemObject 

eg: set FSO=server.createObject(“scripting.fileSystemObject”)


我们说getDrive getFolder getFile openTextFile等直接可被FSO操作的为FSO的方法
而当调用drv=getDrive(path)后,drv.totalsize drv.isReady drv.serialNumber等均为FSO的子方法


 

PART ONE  FSO对驱动器的操作
FSO针对驱动器的常用方法有4种
1. fso.DriverExists(drv): 如果存在该驱动器则返回True
2. fso.Divers: 返回当前机器的驱动器集合
3. fso.GetDriver(drv): 返回对应限定驱动去的Driver对象
4. fso.GetDriverName(Path): 返回包含该路径的驱动器名称

 

fso.getDrive方法获取一个Drive对象,并可进行如下子方法:

  • AvailableSpace: 返回当前驱动器的可用空间
  • RootFolder: 将该驱动器作为一个根目录而返回一个Folder对象
  • DriverLetter: 返回当前驱动器的盘符
  • DriverType: 返回当前驱动器的类型 
                返回值0:无法识别 1:软驱 2:硬盘 3:网络设备 4:光驱 5:RAM存储设备
  • FreeSpace: 和AvailableSpace几乎一致,用字节数返回当前可用空间大小  
               FreeSpace/(1024*1024)得到单位G
  • TotalSize: 用字节数返回该驱动器的总容量  TotalSize/(1024*1024)得到单位G
  • isReady: 指示是否当前卷可以使用
  • Path: 指出目前驱动器的路径
  • SerialNumber: 返回该驱动器的序列号
  • ShareName: 返回该驱动器的共享名称
  • VolumeName: 返回该驱动器的卷名字符串

 

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

 

on error resume next
‘On Error Resume Next的意思是如果发生错误就继续直接执行出错语句下面的那句。一般的,如果出错,VB会报告并停止运行,但有时错误并不严重,不会产生严重影响,你可以在可能出错的语句前面加上这句。但是如果错误很严重,会影响到后续语句,就不要使用这个方法了。

 

下面就用一个程序遍历显示自己机器上所有驱动器的信息:
<%
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  FSO对驱动器操作方法2 
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 fso=nothing
%>
</table>
不过一般对驱动器的操作较少。毕竟服务器提供商是不会让你随便更改系统的。