FSO对象模型包含在Scripting 类型库 (Scrrun.Dll)中,它同时包含了Drive、Folder、File、FileSystemObjectTextStream五个对象:

1、Drive用来收集驱动器的信息,如可用磁盘空间或驱动器的类型

2、Folder用于创建、删除或移动文件夹,同时可以进行向系统查询文件夹的路径等操作

3、File的基本操作和Folder基本相同,所不同的是Files的操作主要是针对磁盘上的文件进行的

4、FileSystemObject是FSO对象模型中最主要对象,它提供了一套完整的可用于创建、删除文件和文件夹,收集驱动器、文件夹、文件相关信息的方法。需要注意的是,FSO对象模型提供的方法是冗余的,也就是说在实际使用中,FSO对象模型中包含的不同对象的不同方法进行的却是同样的操作,而且FileSystemObject对象的方法直接作用于其余对象,所以在后面的文章中并没有单独提到FileSystemObject对象,千万不要以为没有提到就不重要,事实上FileSystemObject对象在整个FSO对象模型中无处不在

5、TextStream对象则是用来完成对文件的读写操作的

一、创建FSO对象

1、方法将一个变量声明为FSO对象类型:

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

 Dim FSOTest As New FileSystemObject '前期绑定优点对象的方法属性自动列出成员、速度

2、方法通过CreateObject方法创建一个FSO 对象:

 Dim FsoTest As Variant
Set FsoTest = CreateObject("Scripting.FileSystemObject") '后期绑定 优点:不需要工程引用兼容性好

二、Drive对象

Drive只有属性:

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

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

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

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

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

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

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

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

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

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

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

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

例子:

 Sub DriveTest()
Dim FsoTest As New FileSystemObject
Dim Drv As Drive, sReturn As String Set Drv = FsoTest.GetDrive("C:\")
sReturn = "Drive " & "C:\" & vbCrLf
sReturn = sReturn & "VolumeName" & Drv.VolumeName & vbCrLf
'VolumeName:设置或返回指定驱动器的卷标名 sReturn = sReturn & "Total Space: " & FormatNumber(Drv.TotalSize / , )
'TotalSize:以字节为单位,返回驱动器或网络共享的总空间大小 sReturn = sReturn & "Kb" & vbCrLf
sReturn = sReturn & "Free Space: " & FormatNumber(Drv.FreeSpace / , )
'FreeSpace:返回指定驱动器上或共享驱动器可用的磁盘空间,这个属性是只读的 sReturn = sReturn & "Kb" & vbCrLf sReturn = sReturn & "FileSystem:" & Drv.FileSystem & vbCrLf
'FileSystem:返回指定驱动器使用的文件系统类型
Debug.Print sReturn
End Sub

三、Folder对象

FileSystemObject对象有关文件夹的方法:(注意这里对象是FileSystemObject)

  1. CreateFolder:创建一个文件夹。

  2. DeleteFolder:删除一个文件夹。

  3. MoveFolder:移动一个文件夹。

  4. CopyFolder:复制一个文件夹。

  5. FolderExists:查找一个文件夹是否驱动器上。

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

  7. GetParentFolderName:找出一个文件夹的父文件夹的。

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

Folder对象的方法:

  1. Delete :删除一个文件夹。

  2. Move :移动一个文件夹。

  3. Copy:复制一个文件夹。

  4. Name:检索文件夹的名称。

四、File对象

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

例子:

 Sub FileTest()
Dim FsoTest As New FileSystemObject
Dim TxS As TextStream
If FsoTest.FileExists("c:\testfile.txt") = False Then
Set TxS = FsoTest.CreateTextFile("c:\testfile.txt") '不存在File需要先创建
Else
Set TxS = FsoTest.OpenTextFile("c:\testfile.txt", ForWriting)
End If
'写入数据
With TxS
TxS.WriteLine "hello word"
.Close
End With '读取数据
With FsoTest.OpenTextFile("c:\testfile.txt", ForReading)
Debug.Print .ReadLine
.Close
End With
End Sub

File System Object(FSO对象)A的更多相关文章

  1. File System Object(FSO对象)B

    一.实例FSO获取当前路径下的文件 Sub Fsotest() Dim Fso As New FileSystemObject, Path As String, File Path = ThisWor ...

  2. java hadoop file system API

    org.apache.hadoop.fs Class FileSystem java.lang.Object org.apache.hadoop.fs.FileSystem All Implement ...

  3. 定义类、System.Object对象、构造函数与析构函数、抽象类与静态类

    一.类定义 class MyClass { //类成员 } 1.访问级别 默认访问级别为internal(内部类),也可以是public(公共类) internal(内部类):当前项目中的代码才能访问 ...

  4. Ceph: A Scalable, High-Performance Distributed File System译文

    原文地址:陈晓csdn博客 http://blog.csdn.net/juvxiao/article/details/39495037 论文概况 论文名称:Ceph: A Scalable, High ...

  5. File System Programming---(三)

    Accessing Files and Directories Before you can open a file, you first have to locate it in the file ...

  6. File System Programming --- (二)

    File System Basics The file systems in OS X and iOS handle the persistent storage of data files, app ...

  7. 磁盘、分区及Linux文件系统 [Disk, Partition, Linux File System]

    1.磁盘基础知识 1.1 物理结构 硬盘的物理结构一般由磁头与碟片.电动机.主控芯片与排线等部件组成:当主电动机带动碟片旋转时,副电动机带动一组(磁头)到相对应的碟片上并确定读取正面还是反面的碟面,磁 ...

  8. Linux File System

    目录 . Linux文件系统简介 . 通用文件模型 . VFS相关数据结构 . 处理VFS对象 . 标准函数 1. Linux文件系统简介 Linux系统由数以万计的文件组成,其数据存储在硬盘或者其他 ...

  9. 小白日记46:kali渗透测试之Web渗透-SqlMap自动注入(四)-sqlmap参数详解- Enumeration,Brute force,UDF injection,File system,OS,Windows Registry,General,Miscellaneous

    sqlmap自动注入 Enumeration[数据枚举] --privileges -U username[CU 当前账号] -D dvwa -T users -C user --columns  [ ...

随机推荐

  1. zabbix的日常监控-API

    Zabbix API提供两项主要功能: 远程管理Zabbix配置 远程检索配置和历史数据 官方文档:https://www.zabbix.com/documentation/3.4/zh/manual ...

  2. Hadoop HBase概念学习系列之HFile(二十)

    HFile文件是不定长的. HFile里才是想要的真正数据,实际存储的位置,是在HDFS上.

  3. ZT C语言链表操作(新增单向链表的逆序建立)

    这个不好懂,不如看 转贴:C语言链表基本操作http://www.cnblogs.com/jeanschen/p/3542668.html ZT 链表逆序http://www.cnblogs.com/ ...

  4. Qt如何设置应用ico图标

    第一步,创建ico文件.将ico图标文件复制到工程文件夹目录中(注意必须是图标文件,任何格式的改后缀都不行) ,重命名为"myico.ico“.然后在该目录中右击,新建文本文档,并输入一行代 ...

  5. python3 80行代码实现贪吃蛇

    上面是实现的截图,废话不说,直接开始说一下代码 pos = { 'UP': (-1,0), 'DOWN':(+1,0), 'LEFT':(0,-1), 'RIGHT':(0,+1), } curren ...

  6. PHP设计模式系列 - 装饰器

    什么是装饰器 装饰器模式,对已有对象的部分内容或者功能进行调整,但是不需要修改原始对象结构,可以使用装饰器设 应用场景 设计一个UserInfo类,里面有UserInfo数组,用于存储用户名信息 通过 ...

  7. java Date日期类和SimpleDateFormat日期类格式

    ~Date表示特定的时间,精确到毫秒~构造方法:public Date()//构造Date对象并初始化为当前系统的时间public Date(long date) //1970-1-1 0:0:0到指 ...

  8. CORS跨域与Nginx反向代理跨域优劣对比

    最近写了一些关于前后端分离项目之后,跨域相关方案的基本原理和常见误区的帖子,主要包括CORS和Nginx反向代理.这两种方案项目中都有在用,各有优缺,关于具体使用哪种方案,大家的观点也不大一致,本文主 ...

  9. ORA-28001: the password has expired (DBD ERROR: OCISessionBegin)解决办法

    1.问题描述: 打开oracle在线管理页面发现这个错误:界面如下 2问题原因 造成这个问题的主要原因是因为DBSNMP .SYSMAN用户密码已经过期. 3解决办法 可以使用sys以管理员的身份登录 ...

  10. ubuntu修改用户环境变量解决音乐播放器Rhythmbox乱码问题

    先打开主文件夹 cd /home/user #user是你的用户名 然后编辑用户环境 sudo gedit .profile在打开的文件中添加: export GST_ID3_TAG_ENCODING ...