打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
File System Object 简介
Microsoft Scripting Runtime本来是为VBScript准备的磁盘,文件夹及文件操作对象,众所周知的HappyTime病毒就是利用其中的FileSystemObject来完成其破坏动作的,可见其功能之强大.基本上来说,Microsoft Scripting Runtime里面所提供的对象以及对象的方法和属性可以满足对磁盘,文件夹和文件的所有管理操作.可以说,在VB中,只用Microsoft Scripting Runtime就可以做出一个比较简单但是可以实现基本功能的资源管理器,而不需要任何API调用.现在我就对Microsoft Scripting Runtime做一个简要的介绍.
(在VB中使用Microsoft Scripting Runtime需要以下操作:Project->Refrences->Microsoft Scripting Runtime)
Microsoft Scripting Runtime中的主要对象:
对象 作用
Dictionary
Drive 磁盘
Drives 基于Drive的集合
Encorder
File 文件
Files 基于文File的集合
FileSystemObject 文件系统对象,对文件进行操作
Folder 文件夹
Folders 基于Folder的集合
TextStream 文本流
◆Drive对象
方法|属性 数据类型 说明
AvailableSpace Variant 可用空间
DriveLetter String 盘符
DriveType DriveTypeConst 磁盘类型
CDRom=4
Fixed=2
RamDisk=5
Remote=3
Removable=1
UnknownType=0
FileSystem String 文件系统,比如:FAT,FAT16,FAT32,NTFS等.
FreeSpace Variant 可用空间.目前还没有发现与AvailableSpace有什么不同.
IsReady Boolean 设备是否就绪,比如软驱或者光驱中是否有盘.
Path String 磁盘的路径,比如C盘就是"C:"
RootFolder String 根目录,比如C盘就是"C:\"
SerialNumber Long 序列号
SharedName Stirng 共享名
TotalSize Variant 总共磁盘容量
VolumeName String 卷标
◆Folder对象
方法|属性 数据类型 说明
Attributes FileAttribute 文件夹属性
Alias=1024
Archive=32
Compressed=2048
Directory=16
Hidden=2
Normal=0
ReadOnly=1
System=4
Volume=8
Copy  声明:Sub Copy(Destination As String, [OverWriteFiles As Boolean = True])
Copy该文件夹到目标路径Destination,如果Copy失败则出错
CreateTextFile TextStream 声明:Function CreateTextFile(FileName As String, [Overwrite As Boolean = True], [Unicode As Boolean = False]) As TextStream
在此目录下创建一个文本文件,Overwrite参数标识如果有同名文件是否覆盖,Unicode表示是否使用Unicode编码格式
DateCreated Date 创建时间
DateLastAccessed Date 最后访问时间
DateLastModified Date 最后修改时间
Delete  删除文件夹
Drive Drive 所在磁盘
Files Files 该文件夹下所有的文件
IsRootFolder Boolean 时候所在磁盘的根目录
Move  声明:Sub Move(Destination As String)
移动该文件夹到文件夹Destination
Name String 名称
ParentFolder Folder 父文件夹
Path String 全路径
ShortName String 短名
ShortPath String 短路径
Size Variant 大小
SubFolders Folders 所有的子文件夹
Type String 类型
◆File对象
方法|属性 数据类型 说明
Attributes FileAttribute 文件属性
Alias=1024
Archive=32
Compressed=2048
Directory=16
Hidden=2
Normal=0
ReadOnly=1
System=4
Volume=8
Copy  声明:Sub Copy(Destination As String, [OverWriteFiles As Boolean = True])
Copy该文件到目标路径Destination,如果Copy失败则出错
DateCreated Date 创建时间
DateLastAccessed Date 最后访问时间
DateLastModified Date 最后修改时间
Delete  删除该文件
Move  声明:Sub Move(Destination As String)
移动该文件到文件夹Destination
Name String 名称
OpenAsTextStream TextStream Function OpenAsTextStream([IOMode As IOMode = ForReading], [Format As Tristate = TristateFalse]) As TextStream
以文本流格式打开该文件
IOMode:
ForAppending=8:追加
ForReading=1:只读
ForWriting=2:可写
ParentFolder Folder 父文件夹
Path String 全路径
ShortName String 短名
ShortPath String 短路径
Size Variant 大小
Type String 类型
◆FileSystemObject对象
方法|属性 说明
Function BuildPath(Path As String, Name As String) As String  建立目录
Sub CopyFile(Source As String, Destination As String, [OverWriteFiles As Boolean = True]) 复制一个文件
Sub CopyFolder(Source As String, Destination As String, [OverWriteFiles As Boolean = True])
复制文件夹
Function CreateFolder(Path As String) As Folder 创建文件夹
Function CreateTextFile(FileName As String, [Overwrite As Boolean = True], [Unicode As Boolean = False]) As TextStream 创建文本文件
Sub DeleteFile(FileSpec As String, [Force As Boolean = False]) 删除文件
Sub DeleteFolder(FolderSpec As String, [Force As Boolean = False]) 删除文件夹
Function DriveExists(DriveSpec As String) As Boolean 某一磁盘是否存在
Property Drives As Drives 唯一的一个属性,取得系统中所有的磁盘
Function FileExists(FileSpec As String) As Boolean 文件是否存在
Function FolderExists(FolderSpec As String) As Boolean 文件夹是否参在
Function GetAbsolutePathName(Path As String) As String 取得绝对路径
Function GetBaseName(Path As String) As String 取得文件夹名称
Function GetDrive(DriveSpec As String) As Drive 取得磁盘
Function GetDriveName(Path As String) As String 取得磁盘的名称
Function GetExtensionName(Path As String) As String 取得文件的扩展名
Function GetFile(FilePath As String) As File 取得文件
Function GetFileName(Path As String) As String 取得文件名
Function GetFileVersion(FileName As String) As String 取得文件版本
Function GetFolder(FolderPath As String) As Folder 取得文件夹
Function GetParentFolderName(Path As String) As String 取得父文件夹
Function GetSpecialFolder(SpecialFolder As SpecialFolderConst) As Folder 取得特殊文件夹
SystemFolder=1:系统目录
例如:"C:\Winnt\System32"
TemporaryFolder=2:临时目录
例如:"C:\Winnt\Temp"
WindowsFolder=0:Windows路径
例如:"C:\Winnt"
Function GetStandardStream(StandardStreamType As StandardStreamTypes, [Unicode As Boolean]) As TextStream 获取流
Function GetTempName() As String 生成一个扩展名为tmp的文件名(随机产生的)
Sub MoveFile(Source As String, Destination As String) 移动文件
Sub MoveFolder(Source As String, Destination As String) 移动文件夹
Function OpenTextFile(FileName As String, [IOMode As IOMode = ForReading], [Create As Boolean = False], [Format As Tristate = TristateFalse]) As TextStream 打开一个文本文件
◆TextStream对象
方法|属性 数据类型 说明
AtEndOfLine Boolean 行末
AtEndOfStream Boolean 流末
Close  关闭
Column Long 当前列
Line Long 当前行
Read String 读取一定的字符
ReadAll String 读取所有
ReadLine String 读取当前行
Skip  跳过
SkipLine  跳过一行
Write  写文件
WriteBlankLines  写一个空行.
WriteLine  写一行
我尝试着用以上介绍的东东做了一个简单的例子,大家可以点击这里下载.其中只有简单的对Drive和Folder对象的使用.如果哪位有兴趣,可以补充完整,甚至可以做成一个资源管理器呢!(给自己一个偷懒的理由先  ^_^)
另外需要注意的是以上介绍到的集合类,访问其Item属性的时候,均不可以用Index,只能用Key,所以是用For Each循环来遍历的,我的代码中有例子.
TextStream对象是非常有用的,比如操作文本文件的时候,就比VB中常用的方法要好.我打算再写一个Notepad,用TextStream对象来实现的,希望有时间来做.
由于我自己也只是用到了以上所列的对象的某些,所以,如果有什么不妥之处,希望不吝赐教.
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
IO
FSO对象模型在VB中的应用
前端的各种日期操作【值得收藏】
java调用第三方dll文件心得
G95 使用详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服