服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

处理驱动器和文件夹

 

使用 filesystemobject (fso) 对象模式,可以有计划地处理驱动器和文件夹,就像在 windows 资源管理器中交互式地处理它们一样。可以复制和移动文件夹,获取有关驱动器和文件夹的信息,等等。

获取有关驱动器的信息

可以用 drive 对象来获得有关各种驱动器的信息,这些驱动器是实物地或通过网络连接到系统上的。它的属性可以用来获得下面的信息内容:

  • 驱动器的总容量,以字节为单位(totalsize 属性)
  • 驱动器的可用空间是多少,以字节为单位(availablespacefreespace 属性)
  • 哪个号被赋给了该驱动器(driveletter 属性)
  • 驱动器的类型是什么,如可移动的、固定的、网络的、cd-rom 或 ram 磁盘(drivetype 属性)
  • 驱动器的序列号(serialnumber 属性)
  • 驱动器使用的文件系统类型,如 fat、fat32、ntfs 等等(filesystem 属性)
  • 驱动器是否可以使用(isready 属性)
  • 共享和/或卷的名字(sharename 和 volumename 属性)
  • 驱动器的路径或根文件夹(pathrootfolder 属性)

请考察  示例代码,来领会如何在 filesystemobject 中使用这些属性。

drive 对象的用法示例

使用 drive 对象来收集有关驱动器的信息。在下面的代码中,没有对实际的 drive 对象的引用;相反,使用 getdrive 方法来获得现有 drive 对象的引用(在这个例子中就是 drv)。

下面示例示范了如何在 vbscript 中使用 drive 对象:

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 send sub

下面的代码说明在 jscript 中实现同样的功能:

function 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

请考察示例代码,来看看在 filesystemobject 中使用了多少种这些的方法和属性。

下面的示例示范了如何在 vbscript 中使用 folderfilesystemobject 对象,来操作文件夹和获得有关它们的信息:

sub showfolderinfo()   dim fso, fldr, s   ' 获得 filesystemobject 的实例。   set fso = createobject("scripting.filesystemobject")   ' 获得 drive 对象。   set fldr = fso.getfolder("c:")   ' 打印父文件夹名字。   response.write "parent folder name is: " & fldr & "<br>"   ' 打印驱动器名字。   response.write "contained on drive " & fldr.drive & "<br>"   ' 打印根文件名。   if fldr.isrootfolder = true then      response.write "this is the root folder." & ""<br>"<br>"   else      response.write "this folder isn't a root folder." & "<br><br>"    end if   '  filesystemobject 对象创建新的文件夹。   fso.createfolder ("c:/bogus")   response.write "created folder c:/bogus" & "<br>"   ' 打印文件夹的基本名字。   response.write "basename = " & fso.getbasename("c:/bogus") & "<br>"   ' 删除新创建的文件夹。   fso.deletefolder ("c:/bogus")   response.write "deleted folder c:/bogus" & "<br>"end sub

下面的示例显示如何在 jscript 中使用 folderfilesystemobject 对象:

function showfolderinfo(){   var fso, fldr, s = "";   // 获得 filesystemobject 的实例。   fso = new activexobject("scripting.filesystemobject");   // 获得 drive 对象。   fldr = fso.getfolder("c:");   // 打印父文件夹名。   response.write("parent folder name is: " + fldr + "<br>");   // 打印驱动器名字。   response.write("contained on drive " + fldr.drive + "<br>");   // 打印根文件名。   if (fldr.isrootfolder)      response.write("this is the root folder.");   else      response.write("this folder isn't a root folder.");   response.write("<br><br>");   //  filesystemobject 对象创建新的文件夹。   fso.createfolder ("c://bogus");   response.write("created folder c://bogus" + "<br>");   // 打印文件夹的基本名。   response.write("basename = " + fso.getbasename("c://bogus") + "<br>");   // 删除新创建的文件夹。   fso.deletefolder ("c://bogus");   response.write("deleted folder c://bogus" + "<br>");}

扫描关注微信公众号