欢迎光临
我们一直在努力

FSO系列之四**处理驱动器和文件夹

建站超值云服务器,限时71元/月

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

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

驱动器的总容量,以字节为单位(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 对象:

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

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

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 isnt 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 中使用 folder 和 filesystemobject 对象:
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 isnt 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>");
}

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » FSO系列之四**处理驱动器和文件夹
分享到: 更多 (0)