- 帖子
- 1058
- 积分
- 1559
- 技术
- 112
- 捐助
- 0
- 注册时间
- 2010-4-30
|
2楼
发表于 2012-10-5 17:03
| 只看该作者
本帖最后由 czjt1234 于 2012-10-23 08:57 编辑
下面是 FileSystemObject 对象的属性和方法的参数,及用法举例
代码测试环境:winxpsp3 IE8 Wscript版本5.7.0.18066
'-------------------------------------------------------------
Dim objFSO, blnYN, strRead
Dim objFile, objFolder, objDriver, objTextStream
Dim objDrivers, objFiles, objFolders, objAddFolder
Set objFSO = CreateObject("Scripting.FileSystemObject")
'FileSystemObject 对象的属性和方法,可以直接对文件和文件夹操作,不需要先获取文件、文件夹对象
'-------------------------------------------------------------
blnYN = objFSO.FolderExists("D:\test")
'判断文件夹是否存在,返回True|False
blnYN = objFSO.FileExists("D:\test.txt")
'判断文件是否存在,返回True|False
blnYN = objFSO.DriveExists("C:")
'判断磁盘名是否存在,返回True|False
'-------------------------------------------------------------
objFSO.CreateFolder "D:\test"
'创建文件夹,不返回对象
objFSO.CreateTextFile "D:\test.txt", True|False, True|False
'创建文件,不返回对象
'第2个参数,True表示覆盖已有文件(缺省值),False为不覆盖
'第3个参数,True表示文件编码为Unicode,False表示ASCII(缺省值)
Set objFolder = objFSO.GetFolder("D:\test")
'获取文件夹对象,返回 Folder 对象
Set objFile = objFSO.GetFile("D:\test.txt")
'获取文件对象,返回 File 对象
'也可以在创建文件和文件夹时直接返回对象
Set objFolder = objFSO.CreateFolder("D:\test")
'创建文件夹,返回 Folder 对象
Set objTextStream = objFSO.CreateTextFile("D:\test.txt", True|False, True|False)
'创建文件,返回 TextStream 对象,并以可写方式打开文件
'-------------------------------------------------------------
objFSO.CopyFolder "d:\test", "e:\test", True|False
'复制文件夹
'True表示覆盖已有文件夹和文件(缺省值),False为不覆盖
'不能覆盖只读文件。路径支持通配符?*
objFSO.CopyFile "d:\test.txt", "e:\test.txt", True|False
'复制文件
'True表示覆盖已有文件(缺省值),False为不覆盖
'不能覆盖只读文件
'-------------------------------------------------------------
objFSO.MoveFolder "d:\test", "d:\test1\"
'移动文件夹,目标文件夹必须已存在
'不支持跨盘移动。路径支持通配符?*
objFSO.MoveFolder "d:\test", "d:\test1"
'相当于文件夹重命名
objFSO.MoveFile "D:\test.txt", "e:\"
'移动文件
objFSO.MoveFile "D:\test.txt", "D:\test1.txt"
'相当于文件重命名
'-------------------------------------------------------------
objFSO.DeleteFolder "e:\test", True|False
'删除文件夹
'True表示删除只读文件夹,False为不删除(缺省值)
objFSO.DeleteFile "e:\test.txt", True|False
'删除文件
'True表示删除只读文件,False为不删除(缺省值)
'-------------------------------------------------------------
strRead = "c:\windows\notepad.exe"
MsgBox "文件名:" & objFSO.GetBaseName(strRead) & vbCrLf & vbCrLf & _
"扩展名:" & objFSO.GetExtensionName(strRead) & vbCrLf & vbCrLf & _
"文件全名:" & objFSO.GetFileName(strRead) & vbCrLf & vbCrLf & _
"盘符:" & objFSO.GetDriveName(strRead) & vbCrLf & vbCrLf & _
"父文件夹:" & objFSO.GetParentFolderName(strRead) & vbCrLf & vbCrLf & _
"文件版本信息:" & objFSO.GetFileVersion(strRead)
'返回指定字符串的文件信息
'字符串可以是文件或文件夹,也可以是不存在的文件或文件夹
'-------------------------------------------------------------
strRead = objFSO.GetTempName
'返回一个随机的文件名,用于创建临时文件或文件夹
strRead = objFSO.BuildPath("d:\test", "Sub Folder")
'在第一个路径后添加名称,返回 d:\test\Sub Folder
'与直接连接字符串相比,这里不用区分是 d:\test 还是 d:\test\
strRead = objFSO.GetSpecialFolder(0|1|2)
'返回指定的特殊文件夹的完整路径
Const WindowsFolder = 0 '返回 windows 文件夹完整路径
Const SystemFolder = 1 '返回 system32 文件夹完整路径
Const TemporaryFolder = 2 '返回 temp 文件夹完整路径
strRead = objFSO.GetAbsolutePathName("C:")
'返回指定路径的绝对路径
'只指定盘符,则返回该盘符的当前目录
'只指定路径,则默认为当前盘符当前目录
'-------------------------------------------------------------
Set objDriver = objFSO.GetDrive("C:")
'获取磁盘对象,返回 Driver 对象
Set objDrivers = objFSO.Drives
'所有 Drive 对象组成的集合,返回 Drivers 集合
Set objTextStream = objFSO.OpenTextFile("D:\test.txt", 1|2|8, True|False, -2|-1|0)
'打开文件,返回 TextStream 对象
'可以读写文件内容,不能使用文件属性,不可以复制、移动、删除文件
'True表示文件不存在时自动新建文件,False为不新建(缺省值)
Const ForReading = 1 '只读(缺省值)
Const ForWriting = 2 '清空文件,覆盖写入
Const ForAppending = 8 '在文件末尾追加写入
Const TristateUseDefault = -2 '以系统默认格式打开文件
Const TristateTrue = -1 '以 Unicode 格式打开文件
Const TristateFalse = 0 '以 ASCII 格式打开文件(缺省值)
'------------------------------------------------------------- |
|