js 操作磁盘文件--使用fso

来源:互联网 发布:002174游族网络 编辑:程序博客网 时间:2024/06/06 17:03
<html>   <head>   <meta http-equiv="Content-Type" content="text/html; charset=gb2312">   <script>   var filesList = new Array();   var filesIndex = 0;  var fso = new ActiveXObject("Scripting.FileSystemObject");  function searchFilesList(filePath){       var f = fso.GetFolder(filePath);       // 遍历目录       var fk = new Enumerator(f.SubFolders);     for (; !fk.atEnd(); fk.moveNext()) {          filesList[filesIndex++] = fk.item();           searchFilesList(fk.item());       }       // 遍历目录文件      var fc = new Enumerator(f.files);    for (; !fc.atEnd(); fc.moveNext()) {  //alert(fc.item());var file = fso.GetFile(fc.item());  //alert(file);//alert(file.Name);//alert(file.Size);filesList[filesIndex++] = fc.item();       }   }   function searchFiles(){       searchFilesList(fixfolder.value);       // 循环信息信息      for (var i=0; i<filesList.length; i++){   textarea.innerHTML += filesList[i]+"<br>";       }   }   function writeFile(){ var file = fso.OpenTextFile("e:\a.txt", 2, true) ; file.write("aaa\r\n"); file.write("bbb"); file.close();}   </script>   </head>   <body bgcolor="#FFFFFF">   指定文件夹:<input type="text" name="fixfolder" value ="D:\新建文件夹\twain\JTwain-eval">   <input type="button" value ="搜索" onclick="searchFiles()"> <input type="button" value ="写文件" onclick="writeFile()">  <table >   <tr>   <td id = "textarea">     </td>   </tr>   </table>     </body>   </html>  


附《FileSystemObject用法大全》转自百度文库

FileSystemObject

 

文件系统对象FSO的英文全称是File System Object ,这种对象模型提出了有别于传统的文件操作语句处理文件和文件夹的方法。通过采用object.method这种在面向对象编程中广泛使用的语法,将一系列操作文件和文件夹的动作通过调用对象本身的属性直接实现。

 

FSO(File SystemObject)对象模型

  从 Visual Basic的第一版至今,VB中有关文件的处理都是通过使用 OpenWrite以及其它一些相关的语句和函数来实现的。随着软件技术的不断发展,加上面向对象编程概念的日臻成熟,这些文件操作语句已经不能适应软件不断增加的复杂程度的需要了。因此,从VB6.0开始,微软提出了一个全新的文件系统对象FSO

 

一、FSO对象模型

  不仅可以象使用传统文件操作语句那样实现文件的创建、改变、移动和删除,而且可以检测是否存在指定的文件夹,如果存在,那么,这个文件夹又位于磁盘上的什么位置。更令人高兴的是FSO对象模型还可以获取关于文件和文件夹的信息,如名称、创建日期或最近修改日期等以及当前系统中使用的驱动器的信息,如驱动器的种类是CDROM还是可移动磁盘,当前磁盘的剩余空间还有多少。而以前要获取这些信息必须通过调用Windows API函数集中的相应函数才能实现。

 

FSO对象模型包含

  在Scripting类型库 (Scrrun.Dll)中,它同时包含了DriveFolderFileFileSystemObjectTextStream五个对象。其中Drive用来收集驱动器的信息,如可用磁盘空间或驱动器的类型;Folder用于创建、删除或移动文件夹,同时可以进行向系统查询文件夹的路径等操作;File的基本操作和Folder基本相同,所不同的是Files的操作主要是针对磁盘上的文件进行的;FileSystemObjectFSO对象模型中最主要对象,它提供了一套完整的可用于创建、删除文件和文件夹,收集驱动器、文件夹、文件相关信息的方法。需要注意的是,FSO对象模型提供的方法是冗余的,也就是说在实际使用中,FSO对象模型中包含的不同对象的不同方法进行的却是同样的操作,而且FileSystemObject对象的方法直接作用于其余对象,所以在后面的文章中并没有单独提到FileSystemObject对象,千万不要以为没有提到就不重要,事实上FileSystemObject对象在整个FSO对象模型中无处不在;最后的TextStream对象则是用来完成对文件的读写操作的。

  在初步了解了FSO对象模型之后,下面我们通过实际的代码对不同的对象进行进一步的阐述。

 

二、FSO对象模型的应用在VB中的应用

 

(一)创建FSO对象模型

  由于FSO对象包含在Scripting类型库 (Scrrun.Dll)中,所以在使用前首先需要在在工程中引用这个文件,单击工程引用,然后在引用对话框中选中“Microsoft Scripting Runtime”前的复选框,然后单击确定

  要创建FSO对象可以采用两种方法,一种是将一个变量声明为FSO对象类型:Dim fsoTest As New FileSystemObject;另一种是通过CreateObject方法创建一个FSO对象:Set fsoTest = CreateObject(“Scripting.FileSystemObject")。在实际使用中具体采用哪种声明方法,可根据个人的使用习惯而定。

  完成了FSO对象模型的创建之后,就可以利用创建的对象模型的方法访问下属各个对象的属性来获取所需信息或进行相关操作了,具体的方法在下面结合各个对象分别讲述。

 

(二)Drive对象

  上面已经提到Drive对象是用来获取当前系统中各个驱动器的信息的。由于Drive对象没有方法,其应用都是通过属性表现出来的,所以我们必须熟悉Drive对象的属性:

AvailableSpace:返回在指定的驱动器或网络共享上的用户可用的空间容量。

DriveLetter:返回某个指定本地驱动器或网络驱动器的字母,这个属性是只读的。

DriveType:返回指定驱动器的磁盘类型。

FileSystem返回指定驱动器使用的文件系统类型。

FreeSpace:返回指定驱动器上或共享驱动器可用的磁盘空间,这个属性是只读的。

IsReady:确定指定的驱动器是否准备好。

Path:返回指定文件、文件夹、或驱动器的路径。

RootFolder:返回一个 Folder对象,该对象表示一个指定驱动器的根文件夹。只读属性。

SerialNumber:返回用于唯一标识磁盘卷标的十进制序列号。

ShareName:返回指定驱动器的网络共享名

TotalSize:以字节为单位,返回驱动器或网络共享的总空间大小。

VolumeName:设置或返回指定驱动器的卷标名。

  从上面的属性可以看到Drive对象基本上包含了日常操作所需的全部的驱动器信息,因此在使用中是非常方便的。下面通过一个实例讲述Drive对象的使用。首先在VB中建立一个工程,然后添加一个命令按钮,将其Caption设置为“TestDrive”,然后在click事件中加入以下代码:

Dim fsoTest As New FileSystemObject

Dim drv1 As Drive, sReturn As String

Set drv1 = fsoTest.GetDrive(“C:\")

sReturn = “Drive " & “C:\" & vbCrLf

sReturn = sReturn & “VolumeName" & drv1.VolumeName &vbCrLf

sReturn = sReturn & “Total Space: " &FormatNumber(drv1.TotalSize / 1024, 0)

sReturn = sReturn & “Kb" & vbCrLf

sReturn = sReturn & “Free Space: " &FormatNumber(drv1.FreeSpace / 1024, 0)

sReturn = sReturn &“Kb" & vbCrLf

sReturn = sReturn &“FileSystem:" & drv1.FileSystem &vbCrLf

MsgBox sReturn

  其中GetDrive方法返回一个与指定路径中的驱动器相对应的 Drive 对象。该方法的语法格式为object.GetDrive drivespecobject是一个FSO对象的名称,drivespec用于指定驱动器的名称。

  按F5运行上述代码,按下TestDrive按钮就会弹出一个消息框显示C盘的信息。

 

(三)Folder对象

  在FSO对象模型中,提供了丰富的有关文件夹操作的方法,这些方法分别是:

FileSystemObject对象有关文件夹的方法:

CreateFolder:创建一个文件夹

DeleteFolder:删除一个文件夹

MoveFolder:移动一个文件夹

CopyFolder:复制一个文件夹

FolderExists查找一个文件夹是否在驱动器上

GetFolder:获得已有Folder对象的一个实例

GetParentFolderName找出一个文件夹的父文件夹的名称。

GetSpecialFolder找出系统文件夹的路径。

Folder对象的方法:

Delete:删除一个文件夹

Move:移动一个文件夹

Copy:复制一个文件夹。

Name:检索文件夹的名称。

  在此需要强调一点,前面我们曾经提到过FSO对象模型包含的方法是冗余的,所以Folder对象的DeleteMoveCopy方法和FileSystemObject对象的DeleteFolderMoveFolderCopyFolder方法实际上是相同的,因此在实际使用中可以任选其中的一种。和Drive对象一样,下面通过实例演示Folder对象的应用。在VB下新建一个工程,然后在上面添加三个命令按钮,然后在Form1的通用部分加入以下代码:

Option Explicit

Dim fsoTest As New FileSystemObject

Dim folder1 As Folder

  并且分别在三个命令按钮的click事件输入以下代码:

Private Sub CmdCreate_Click()

'获取 Folder对象。

Set folder1 = fsoTest.GetFolder(“C:")

'创建文件夹

fsoTest.CreateFolder (“C:\Test")

MsgBox “folder C:\Test has created"

End Sub

Private Sub CmdDelete_Click()

'获取 Drive对象。

Set folder1 = fsoTest.GetFolder(“C:")

'删除文件夹

fsoTest.DeleteFolder (“C:\Test")

MsgBox“folder C:\Test has deleted"

End Sub

Private Sub CmdGetPro_Click()

'获取文件夹的有关信息

Dim sReturn As String

Set folder1 = fsoTest.GetFolder(“C:\Windows")

'sReturn = “The folder's Attributes is " &folder1.Attributes & vbCrLf

'获取最近一次访问的时间

sReturn = sReturn & “The folder's last access timeis " & folder1.DateLastAccessed & vbCrLf

'获取最后一次修改的时间

sReturn = sReturn & “The folder's last modifytime is " & folder1.DateLastModified & vbCrLf

'获取文件夹的大小

sReturn = sReturn & “The folder's size is "& FormatNumber(folder1.Size / 1024, 0)

sReturn = sReturn & “Kb" & vbCrLf

'判断文件或文件夹类型

sReturn = sReturn & “The type is " &folder1.Type & vbCrLf

MsgBox sReturn

End Sub

  上述代码中提到的CreateFolder方法的语法形式为object.CreateFolder(foldername)foldername指定了要创建的文件夹的名称,而DeleteFolder方法的语法形式为object.DeleteFolderfolderspec[,force],其中,folderspec用来指定要删除的文件夹的名称,force是一个可选的布尔型参数,如果希望删除只读属性的文件夹则将该值设为TRUE,默认为FALSE。至于代码中用到的 Folder 对象的属性限于篇幅,就不详细介绍了,读者可参考VB文档中的相关内容。

 

(四)File对象和TextStream对象

  由于有关File对象的复制,删除,移动等操作和Folder对象类似,所以这部分内容就不再重复。这里主要讲述利用File对象和TextStream对象操作文本文件。

  通常对文本文件的操作包括在文本文件中创建数据,在文本文件中添加数据,删除文本文件的数据等操作。这些操作都可以通过File对象和FileSystemObject对象的相关方法完成。不过在使用之前,首先要创建一个文本文件,这可以通过三种方法完成。一种方法是使用FileSystemObject对象的 CreateTextFile 方法。要创建一个空文本文件,可以用以下语句:

Dim fsoTest As New FileSystemObject, fil1 As File

Set fil 1=fsoTest.CreateTextFile(“c:\testfile.txt", True)

  第二种方法是使用 FileSystemObject对象带 ForWriting标志设置的 OpenTextFile方法,

Dim fsoTest As New FileSystemObject, ts1 As NewTextStream

Set ts1 =fsoTest.OpenTextFile(“c:\testfile.txt", ForWriting)

  第三种方法是使用File对象的带 ForWriting标志设置的 OpenAsTextStream方法:

Dim fsoTest As New FileSystemObject, fil 1As File,ts 1As TextStream

Set fsoTest =CreateObject(“Scripting.FileSystemObject")

fsoTest.CreateTextFile (“c:\testfile.txt")

Set fil1 = fsoTest.GetFile(“c:\testfile.txt")

Set ts1 = fil1.OpenAsTextStream(ForWriting)

  其中CreateTextFile方法的第一个参数用来指定,第二个参数用来指定如果磁盘上已经存在要创建的文件是否覆盖,TRUE表示覆盖,FALSE表示不覆盖,省略表示不覆盖;OpenTextFile方法的第一个参数确定要打开的文本文件,第二个参数表示对该文件进行写操作;OpenAsTextStream方法的参数和OpenTextFile方法的第二个参数含义相同。

  在创建了写入数据的文本之后就可以利用TextStream对象的 Write WriteLine方法了,它们之间的区别在于 WriteLine在指定的字符串末尾添加换行符,而Write方法没有。如果想要向文本文件中添加一个空行,可以使用 WriteBlankLines 方法。在完成写的动作之后,用Close方法关闭打开的文本文件。如果要读取一个存在的文本文件的内容,就要用到 TextStream 对象的 Read ReadLine ReadAll方法;这些方法的区别是 Read:从一个文件中读取指定数量的字符ReadLine:读取一整行(紧跟,但不包括,换行符); ReadAll :读取一个文本文件的所有内容。下面在一个VB的工程中演示上述的效果。

  在VB中新建一个工程,然后在Form1上添加两个命令按钮,然后输入以下代码:

Private Sub CmdRead_Click()

Dim fsoTest As New FileSystemObject, file1 As File,ts As TextStream, s As String

Set file1 = fsoTest.GetFile(“C:\testfile.txt")

Set ts = file1.OpenAsTextStream(ForReading)

'读取一行

s = ts.ReadLine

MsgBox s

ts.Close

End Sub

Private Sub CmdWrite_Click()

Dim txtfile As File, ts As TextStream

Set txtfile = fsoTest.GetFile(“c:\testfile.txt")

Set ts = txtfile.OpenAsTextStream(ForWriting)

'使用Write方法写入一行。

ts.Write (“This is only a Test")

'写入一行带有换行符的文本。

ts.WriteLine (“Testing 1, 2, 3.")

'向文件中写入三个换行符。

ts.WriteBlankLines (3)

ts.Close

End Sub

  在这里我们假设已经在磁盘上建立了一个名为testfile.txt的文件。在按下F5运行时,先单击Write写入数据,然后按下Read读取数据。

 

三、结束语

  通过上面的介绍,我们可以看到FSO对象模型的确在传统的文件操作语句之外,提供了一种更方便,功能更强大的访问文件的操作方法。不过,我们还需要注意到FSO对象模型目前还不完善,当前使用的FSO对象模型还不支持创建随机文件或二进制文件。要创建随机文件和二进制文件,仍然要使用带 Random Binary标志的 Open命令。但从目前FSO对象模型的实际应用来看,我们仍然可以将FSO对象模型作为一种比较简便的文件操作解决方案。

(注:上述代码均在VB6.0 SR3)

 

File System ObjectVBscript里的应用.

  在代码内操作文本文件、文件夹及驱动器。它是脚本运行期库提供的对象之一,对于服务器ASP页面内的VBScriptJScript都有效。如果页面的扩展名为.hta(表示它们是HTA的一部分),它也可用在客户端的IE 5中。本节仅讨论在服务器上的ASP脚本如何使用FileSystemObject对象。

  超级文本应用程序(HTA)由指定的"受信任的"页面组成,在页面的<HEAD>段里包含<HTA: APPLICATION>元素。例如:

<HTA:APPLICATION ID="objMyApp"APPLICATIONNAME="myApp">

  这些页面可以使用客户端脚本引擎中的一些不常用特性,这些特性中有FileSystemObject对象和TextStream对象。关于超级文本应用程序的更多信息,请访问Microsoft Workshop网站。

  可以使用下面的程序创建一个FileSystemObject对象实例:

' In VBScript:

Dim objMyFSO

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

// In JScript:

var objMyFSO =Server.CreateObject('Scripting.FileSystemObject');

<!-- Server-side with an OBJECT element -->

<OBJECT RUNAT="SERVER"SCOPE="PAGE" ID="objFSO"

PROGID="Scripting.FileSystemObject">

</OBJECT>

  在ASP页面里,增加一个对于FileSystemObject类型库的引用是非常有用的。这允许使用它直接定义的内置常数,不用像过去那样用数字等效表达式代替。整个脚本运行期库的类型库可以增加到任何ASP页面中,代码如下:

<!-- METADATA TYPE="typelib"FILE="%systemroot%\System32scrrun.dll" -->如果你是在另一个目录下安装Windows,必须编辑FILE的属性值。

 

5.4.1FileSystemObject对象成员概要

FileSystemObject对象提供一个属性和一系列方法,可用它们来操纵FileSystemObject对象实现的一些从属对象。这里提供了全部的内容概要,然后介绍每一个从属对象。

1 FileSystemObject的属性

FileSystemObject对象只有一个属性,它用于得到当前机器上的所有有效驱动器的列表,如表5-4所示:

 

5-4 FileSystemObject对象的属性及说明

 

Drivers

返回本地计算机可用的驱动器列表。

2 FileSystemObject的方法

FileSystemObject对象提供了使用从属对象的一系列方法,从属对象包括DriveFolderFile等对象。它也实现了用于TextStream对象的两个方法:CreateTextFileOpenTextFile。根据所使用的对象的类型,将方法划分为三类。

(1)与驱动器有关的方法

  与驱动器有关的方法如表5-5所示:

 

 

 

 

 

 

 

5-5与驱动器有关的方法及说明

 

DriveExists(drivespec)

如果在drivespec中指定的驱动器存在,则返回True,否则返回False

drivespec参数可以是一个驱动器字母,或者是文件、文件夹的完整绝对路径

GetDrive(drivespec)

返回drivespec指定的驱动器所对应的Drive对象。drivespacec可以包含冒号、路径分隔符或者是网络共享名即:"C""C:""C:""\machinesharename"

GetDriveName(drivespec)

用字符串返回drivespec指定的驱动器的名称。drivespec参数必须是文件或文件夹的绝对路径,或者仅仅是驱动器字母,例如:"c:""c"

(2)与文件夹有关的方法

  与文件夹有关的方法如下所示:

BuildPath(path,name)

在已有的路径path上增添名字为name的文件或文件夹,如果需要,则增添路径分隔符''

CopyFolder(source,destination,overwrite)

从指定的源文件夹source(可以包含通配符)中复制一个或多个文件夹到指定的目标文件夹destination,包含了源文件夹中的所有文件。如果source包含通配符或destination末尾是路径分隔符(''),那么认为destination是要放置源文件夹的拷贝的文件夹。否则的话,认为destination是要创建的新文件夹的路径名。如果destination文件夹已经存在且overwrite参数设置为False,将产生错误,缺省的overwrite参数是True

CreateFolder(foldername)

创建一个路径名为foldername的文件夹。如果foldername已经存在将产生错误DeleteFolder(folderspec,force)删除由folderspec指定的一个或多个文件夹(可以在路径的最后部分包含通过配符)及文件夹中的所有内容。如果可选的force参数设置为true,那么即使文件夹包含的文件具有只读属性,也将删除该文件夹。缺省的force参数是False

FolderExist(folderspec)

如果folderspec指定的文件夹存在则返回True,否则返回Falsefolderspec参数可以包含文件夹的绝对或相对路径,或者仅仅是当前文件夹中看到的文件夹名。

GetAbsolutePathName(pathspec)

返回明确指定文件夹的路径,其中要考虑到当前文件夹的路径。例如,如果当前文件夹是"c:docssales",而pathspec"jan",返回的字符是"c:docssalesjan"。通配符、"..""\"路径操作符都是可以接受的。

GetFolder(folderspec)

返回folderspec指定的文件夹对应的Folder对象。folderspec可以是文件夹的相对的或绝对的路径。

GetParentFolderName(pathspec)

返回pathspec文件或文件夹的上一级文件夹。不检验该文件夹是否存在。

GetSpecialfolder(folderspec)

返回一个特定的Windows文件夹相对应的Folder对象。参数folderspec的允许值是WindowsFolder(0)SystemFolder(1)TemporaryFolder(2)MoveFolder(source,destination)source指定的一个或多个文件夹移动到destination指定的文件夹。在source里可以包含通配符,但在destination中不行。如果source包含通配符或destination末尾是路径分隔符(''),则认为destination是要放置源文件夹的文件夹,否则认为它是一个新文件夹的完整路径和名字。如果目的文件夹destination已经存在则产生错误

(3)与文件有关的方法

CopyFile(source,destination,overwrite)

source(可包含通配符)指定的一个或多个文件复制到指定的目标文件夹destination。如果source包含通配符或destination末尾是路径分隔符(''),那么认为destination是文件夹。否则认为destination为一新文件的完全路径和名称。如果目标文件夹已经存在且overwrite参数设置为False,将产生错误。缺省的overwrite参数是。

TrueCreateTextFile(filename,overwrite, unicode)

用指定的文件名filename在磁盘上创建一个新的文本文件,并返回与其对应的TextStream对象,如果可选的overwrite参数设置为True,则覆盖同一路径下已有的同名文件。缺省的overwrite参数是False。如果可选的unicode参数设置为True,则该文件的内容将存储为Unicode文本,缺省的unicode参数是FalseDeleFile(filespec,force)删除由filespec指定的一个或多个文件(可以在路径的最后部分包含通配符)。如果可选的force参数设置为true,那么也删除具有只读属性的文件。缺省的force参数是False

FileExists(filespec)

如果filespec指定的文件存在则返回True,否则返回Falsefilespec参数可以包含文件的绝对路径或相对路径,或者是当前文件夹中的文件名。

GetBaseName(filespec)

返回filespec指定的文件的名称,即包含文件路径但去掉了文件的扩展名。

GetExtensionName(filespec)

返回filespec指定的文件的扩展名。

GetFile(filespec)

返回filespec指定的文件所对应的File对象。可以指定文件的相对或绝对路径。

GetFileName(pathspec)

返回pathspec指定的文件的路径或文件名,如果没有文件名就返回最后的文件夹名。不检查该文件或文件夹是否存在

GetTempName()

返回一个随机产生的文件名,用于完成运算所需的临时文件或文件夹

MoveFile(source,destination)

source指定的一个或多个源文件移动到destination指定的目的文件夹。在source里可以包含通配符,但destination不行。如果source包含通过配符或destination末尾是路径分隔符(''),那么认为destination是一文件夹。否则,认为destination是一新文件夹的完整路径和名称。如果目的文件夹已经存在则产生错误。

OpenTextFile(filename,iomode,create,format)

创建一个名叫做filename的文件,或打开一个现有的名为filename的文件,并且返回一个与其相关的TextStream对象。filename参数可以包含绝对或相对路径。iomode参数指定了所要求的访问类型。允许的数值是ForReading(1)(缺省)、ForWriting(2)ForAppending(8)。当写入或追加到一个不存在的文件时,如果create参数设置为true,就将创建一个新文件。缺省的create参数是Falseformat参数说明对文件读或写的数据格式。允许数值是:TristatetFalse(0)(缺省),按照ASCII格式打开;TristatetTrue(-1),按照Unicode格式打开;TristateDefault(-2),用系统缺省格式打开 Unicode文件使用两个字节标识每个字符,取消了ASCII字符最多256个的限制。 

5.4.2使用驱动器

下面是使用FileSystemObject对象的简单例子,它使用DriveExists方法得到现有的驱动器字母的列表:

'In VBScript

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

For intCode = 65 To 90 'ANSIcodes for 'A' to 'Z'

strLetter = Chr(intCode)

IfobjFSO.DriveExists(strLetter) Then

Response.Write"Found drive " & strLetter & ":<BR>"

End If

Next

1.    Folder对象

Driver对象的RootFolder属性返回一个Folder对象,通过该对象可访问这个驱动器内的所有的内容。可以使用这个Folder对象的属性和方法遍历驱动器上的目录,并得到该文件夹和其他文件夹的属性。

(1)  Folder对象的属性

Folder对象提供一组属性,可用这些属性得到关于当前文件夹的更多信息,也可以改变该文件夹的名称。其属性及说明如所示:

Attributes

返回文件夹的属性。可以是下列值中的一个或其组合:Normal(0)ReadOnly(1)Hidden(2)System(4)Volume(名称)(8)Directory(文件夹)(16)Archive(32)Alias(64)Compressed(128)。例如,一个隐藏的只读文件,Attributes的值为3

DateCreated

返回该文件夹的创建日期和时间。

DateLastAccessed

返回最后一次访问该文件夹的日期和时间。

DateLastModified

返回最后一次修改该文件夹的日期和时间

Drive

返回该文件夹所在的驱动器的驱动器字母

Files

返回Folder对象包含的Files集合,表示该文件夹内所有的文件

IsRootFolder

返回一个布尔值说明该文件夹是否是当前驱动器的根文件夹

Name

设定或返回文件夹的名字

ParentFolder

返回该文件夹的父文件夹对应的Folder对象

Path

返回文件夹的绝对路径,使用相应的长文件名 ShortName返回DOS风格的8.3形式的文件夹名

     ShortPath

  返回DOS风格的8.3形式的文件夹的绝对路径

  Size

  返回包含在该文件夹里所有文件和子文件夹的大小

  SubFolers

   返回该文件夹内包含的所有子文件夹对应的Folders集合,包括隐藏文件夹和系统文件夹

  Type

  如果可能,返回一个文件夹的说明字符串(例如,"Recycle Bin"

(2) Folder对象的方法

  Folder对象提供一组可用于复制、删除和移动当前文件夹的方法。这些方法的运行方式与FileSystemObject对象的CopyFolderDeleFolderMoveFolder方法相同,但这些方法不要求source参数,因为源文件就是这个文件夹。这些方法及说明如所示:

Copy(destination,overwrite)

  将这个文件夹及所有的内容复制到destination指定的文件夹。如果destination的末尾是路径分隔符(''),那么认为destination是放置拷贝文件夹的一个文件夹。否则认为destination是要创建的新文件夹的路径和名字。如果目标文件夹已经存在且overwrite参数设置为False,将产生错误,缺省的overwrite参数是True

Delete(force)

  删除文件夹及里面的所有内容。如果可选的force参数设置为True,即使文件夹设置为只读或含有只读的文件,也将删除该文件夹。缺省的forceFalse

Move(destination)

  将文件夹及里面所有的内容移动到destination指定的文件夹。如果destination的末尾是路径分隔符(''),那么认为destination是放置移动文件夹的一个文件夹。否则认为destination是一个新的文件夹的路径和名字。如果目标文件夹已经存在,则出错

CreateTextFile (filename,overwrite,unicode)

  用指定的文件名在文件夹内创建一个新的文本文件,并且返回一个相应的TextStream对象。如果可选的overwrite参数设置为True,将覆盖任何已有的同名文件。缺省的overwrite参数是False。如果可选的unicode参数设置为True,文件的内容将存储为unicode文本。缺省的unicodeFalse

  在文件夹之间可以使用当前文件夹的ParentFolder属性,返回到父目录。当到达一个文件夹时,如果IsRootFolder属性是True,就停下来。离开驱动器的根目录,沿目录树向下,可遍历或访问在Folders集合(由当前文件夹的SubFolders属性返回)内的指定文件夹。

 

 

附录:

File System Object方法与属性

 

 

 

方法或者属性

描述

BuildPath()

生成一个文件路径

CopyFile()

复制檔

CopyFolder()

复制目录

CreateFolder()

创建新目录

CreateTextFile()

生成一个檔

DeleteFile()

删除一个檔

DeleteFolder()

删除一个目录

DriveExists()

检验盘符是否存在

Drives

返回盘符的集合

FileExists()

检验檔是否存在

FolderExists

检验一个目录是否存在

GetAbsolutePathName()

取得一个文件的绝对路径

GetBaseName()

取得文件名

GetDrive()

取得盘符名

GetDriveName()

取得盘符名

GetExtensionName()

取得檔的后缀

GetFile()

生成文件物件

GetFileName()

取得文件名

GetFolder()

取得目录对象

GetParentFolderName

取得文件或目录的父目录名

GetSpecialFolder()

取得特殊的目录名

GetTempName()

生成一个临时文件物件

MoveFile()

移动文件

MoveFolder()

移动目录

OpenTextFile()

打开一个檔流