FSO对象模型包含在Scripting 类型库 (Scrrun.Dll)中,它同时包含了Drive、Folder、File、FileSystemObject和TextStream五个对象:
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只有属性:
AvailableSpace:返回在指定的驱动器或网络共享上的用户可用的空间容量。
DriveLetter:返回某个指定本地驱动器或网络驱动器的字母,这个属性是只读的。
DriveType:返回指定驱动器的磁盘类型。
FileSystem:返回指定驱动器使用的文件系统类型。
FreeSpace:返回指定驱动器上或共享驱动器可用的磁盘空间,这个属性是只读的。
IsReady:确定指定的驱动器是否准备好。
Path :返回指定文件、文件夹、或驱动器的路径。
RootFolder:返回一个 Folder 对象,该对象表示一个指定驱动器的根文件夹。只读属性。
SerialNumber:返回用于唯一标识磁盘卷标的十进制序列号。
ShareName:返回指定驱动器的网络共享名。
TotalSize:以字节为单位,返回驱动器或网络共享的总空间大小。
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)
CreateFolder:创建一个文件夹。
DeleteFolder:删除一个文件夹。
MoveFolder:移动一个文件夹。
CopyFolder:复制一个文件夹。
FolderExists:查找一个文件夹是否在驱动器上。
GetFolder:获得已有Folder对象的一个实例。
GetParentFolderName:找出一个文件夹的父文件夹的。
GetSpecialFolder:找出系统文件夹的路径。
Folder对象的方法:
Delete :删除一个文件夹。
Move :移动一个文件夹。
Copy:复制一个文件夹。
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的更多相关文章
-
File System Object(FSO对象)B
一.实例FSO获取当前路径下的文件 Sub Fsotest() Dim Fso As New FileSystemObject, Path As String, File Path = ThisWor ...
-
java hadoop file system API
org.apache.hadoop.fs Class FileSystem java.lang.Object org.apache.hadoop.fs.FileSystem All Implement ...
-
定义类、System.Object对象、构造函数与析构函数、抽象类与静态类
一.类定义 class MyClass { //类成员 } 1.访问级别 默认访问级别为internal(内部类),也可以是public(公共类) internal(内部类):当前项目中的代码才能访问 ...
-
Ceph: A Scalable, High-Performance Distributed File System译文
原文地址:陈晓csdn博客 http://blog.csdn.net/juvxiao/article/details/39495037 论文概况 论文名称:Ceph: A Scalable, High ...
-
File System Programming---(三)
Accessing Files and Directories Before you can open a file, you first have to locate it in the file ...
-
File System Programming --- (二)
File System Basics The file systems in OS X and iOS handle the persistent storage of data files, app ...
-
磁盘、分区及Linux文件系统 [Disk, Partition, Linux File System]
1.磁盘基础知识 1.1 物理结构 硬盘的物理结构一般由磁头与碟片.电动机.主控芯片与排线等部件组成:当主电动机带动碟片旋转时,副电动机带动一组(磁头)到相对应的碟片上并确定读取正面还是反面的碟面,磁 ...
-
Linux File System
目录 . Linux文件系统简介 . 通用文件模型 . VFS相关数据结构 . 处理VFS对象 . 标准函数 1. Linux文件系统简介 Linux系统由数以万计的文件组成,其数据存储在硬盘或者其他 ...
-
小白日记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 [ ...
随机推荐
-
字符串的replace()方法隐藏着什么不可告人秘密?
最近在做JS算法项目时发现一个令我匪夷所思的问题, 这里想记录一下问题. 首先介绍一下字符串replace()方法的基本用法. replace() 方法使用一个替换值(replacement)替换掉一 ...
-
oc TableView 分割线(separator)部分显示问题
问题:当TableView的cell不能显示完整个屏幕(屏幕有剩余),则没有显示cell的地方也会显示分割线,这不是我们想要的,正常情况下,如果没有cell则应没有分割线.如下图所示:左图为遇到问题, ...
-
window xp Apache与Tomcat集群配置--转载
转载地址:http://www.cnblogs.com/obullxl/archive/2011/06/09/apache-tomcat-cluster-config.html 一. 环境说明 Win ...
-
JSP学习——原理
JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比 ...
-
Maven配置文件Pom.xml详解
<project xmlns="http://maven.apache.org/POM/4.0.0 " xmlns:xsi="http://www.w3. ...
-
Ambari Auto Start(进程自动拉起)
文章作者:luxianghao 文章来源:http://www.cnblogs.com/luxianghao/p/7886850.html 转载请注明,谢谢合作. 免责声明:文章内容仅代表个人观点, ...
-
curl支持HTTP和https
设计流程 基于curl工具实现https/http,设计初步流程为:linux平台验证→→交叉移植arm板. linux系统下调试http和https 1.1 Linux安装curl 输入命令:sud ...
-
UNIX环境高级编程——线程与进程区别
进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性.进程和线程的区别在于: (1)一个程序至少有一个进程,一个进程至少有一个线程. (2)线程的划分尺度小于进 ...
-
网络协议 反扒机制 fidder 抓包工具
协议 http 协议: client 端 server 端交互的 一种形式 请求头信息: User-Agent: 情求载体的身份标识 connection: 'close' 连接状态 请求成功后 断开 ...
-
Python这么强大, 怎样才能快速入坑?
作为一种年轻的编程语言,Python为何能在短短几年的时间内就以迅雷不及掩耳之势驰骋编程界?答案很简单,在人工智能时代,AlphaGo 都在使用的 Python语言,是最接近 AI 的编程语言. 随着 ...