处理驱动器和文件夹
使用 filesystemobject (fso) 对象模式,可以有计划地处理驱动器和文件夹,就像在 windows 资源管理器中交互式地处理它们一样。可以复制和移动文件夹,获取有关驱动器和文件夹的信息,等等。
获取有关驱动器的信息
可以用 drive 对象来获得有关各种驱动器的信息,这些驱动器是实物地或通过网络连接到系统上的。它的属性可以用来获得下面的信息内容:
请考察示例代码,来领会如何在 filesystemobject 中使用这些属性。
- 驱动器的总容量,以字节为单位(totalsize 属性)
- 驱动器的可用空间是多少,以字节为单位(availablespace 或 freespace 属性)
- 哪个号被赋给了该驱动器(driveletter 属性)
- 驱动器的类型是什么,如可移动的、固定的、网络的、cd-rom 或 ram 磁盘(drivetype 属性)
- 驱动器的序列号(serialnumber 属性)
- 驱动器使用的文件系统类型,如 fat、fat32、ntfs 等等(filesystem 属性)
- 驱动器是否可以使用(isready 属性)
- 共享和/或卷的名字(sharename 和 volumename 属性)
- 驱动器的路径或根文件夹(path 和 rootfolder 属性)
drive 对象的用法示例
使用 drive 对象来收集有关驱动器的信息。在下面的代码中,没有对实际的 drive 对象的引用;相反,使用 getdrive 方法来获得现有 drive 对象的引用(在这个例子中就是 drv)。下面示例示范了如何在 vbscript 中使用 drive 对象:
下面的代码说明在 jscript 中实现同样的功能:sub showdriveinfo(drvpath) dim fso, drv, s set fso = createobject("scripting.filesystemobject") set drv = fso.getdrive(fso.getdrivename(drvpath)) s = "drive " & ucase(drvpath) & " - " s = s & drv.volumename & "<br>" s = s & "total space: " & formatnumber(drv.totalsize / 1024, 0) s = s & " kb" & "<br>" s = s & "free space: " & formatnumber(drv.freespace / 1024, 0) s = s & " kb" & "<br>" response.write s end subfunction showdriveinfo1(drvpath) { var fso, drv, s =""; fso = new activexobject("scripting.filesystemobject"); drv = fso.getdrive(fso.getdrivename(drvpath)); s += "drive " + drvpath.touppercase()+ " - "; s += drv.volumename + "<br>"; s += "total space: " + drv.totalsize / 1024; s += " kb" + "<br>"; s += "free space: " + drv.freespace / 1024; s += " kb" + "<br>"; response.write(s); }
处理文件夹
在下面的表中,描述了普通的文件夹任务和执行它们的方法。
任务 方法 创建文件夹。 filesystemobject.createfolder 删除文件夹。 folder.delete 或 filesystemobject.deletefolder 移动文件夹。 folder.move 或 filesystemobject.movefolder 复制文件夹。 folder.copy 或 filesystemobject.copyfolder 检索文件夹的名字。 folder.name 如果文件夹在驱动器上存在,则找出它。 filesystemobject.folderexists 获得现有 folder 对象的实例。 filesystemobject.getfolder 找出文件夹的父文件夹名。 filesystemobject.getparentfoldername 找出系统文件夹的路径。 filesystemobject.getspecialfolder