3个回答
展开全部
用FSO的GETFOLDER函数啊下面是FSO操作文件夹的各种实例代码
’ FSO 文件操作相关
’ FSO 参数详解:
’ Fso.IsRootFolder=True|False ’是否为根目录
’ Fso.GetFolder ’读取文件夹 用法:Set fldr = fso.GetFolder("c:\\Program Files")
’ Fso.FolderExists=True|False ’查找此文件夹是否存在
’ Fso.CreateFolder ’创建文件夹 用法:fso.CreateFolder("c:\\cnbruce")
’ Fso.GetBaseName ’返回文件夹的名字 用法:fso.GetBaseName("c:\\cnbruce")
’ Fso.DeleteFolder ’删除指定的文件夹 用法:fso.DeleteFolder("c:\\cnbruce")
’ Fso.MoveFolder ’移动指定的文件夹 用法:fso.MoveFolder("c:\\cnbruce","C:\\Program Files") 将c:\\cnbruce移动到C:\\Program Files下
’ Fso.CopyFolder ’复制指定的文件夹 用法:fso.CopyFolder("c:\\Program Files\\cnbruce","c:\\") 将c:\\Program Files\\cnbruce复制到C:\\下
’
’ Fso.Drive ’返回驱动器的名字 返回 “D:”
’ Fso.GetDriveName ’提取驱动器名 返回“d:”
’ Fso.GetDrive ’提取驱动器名 返回 “D:” 常用写法:fso.GetDrive(fso.GetDriveName(drvPath))
’ 磁盘驱动器信息
’ Drv.DriveLetter ’返回盘符
’ Drv.VolumeName ’取得驱动器的卷标
’ Drv.TotalSize ’取得空间总大小 返回字节数,用FormatNumber(Drive.TotalSize/1024,0)格式化,返回多少G
’ Drv.FreeSpace ’剩余空间大小 返回同上
’ Drv.DriveType ’文件类型 0“设备无法识别” 1“软盘驱动器” 2“硬盘驱动器” 3“网络硬盘驱动器” 4“光盘驱动器” 5“RAM虚拟磁盘”
’ Drv.FileSystem ’磁盘格式
’ Drv.SerialNumber ’磁盘系列号
’ Drv.IsReady ’是否可用
’ Drv.Path ’磁盘路径
’ FSO文件操作
’ Txt.OpenTextFile ’打开指定的文件 用法:fso.OpenTextFile(whichfile,1) 参数1:表示“ForReading:只读,禁写。” 参数2:表示“ForWriting:可读,可写。” 参数8:表示“ForAppending:打开文件并从文件末尾开始写”
’ Txt.ReadLine ’读取一整行
’ Txt.Read(7) ’读取指定数量字符
’ Txt.ReadAll ’读取文本所有内容
’ Txt.CreateTextFile ’创建文件 用法:Set MyFile = Txt.CreateTextFile(whichfile,True) True即表示能覆盖已有文件
’ Txt.WriteLine ’向已有文件写入内容 用法:Txt.WriteLine("欢迎您来到本站")
’ Txt.Name ’返回文件名称
’ Txt.ShortPath ’返回文件短路径名
’ Txt.Path ’返回文件物理地址
’ Txt.Attributes ’返回文件属性
’ 返回值附录:
’ Normal 0 普通文件。 没有设置任何属性
’ ReadOnly 1 只读文件。 可读写
’ Hidden 2 隐藏文件。 可读写
’ System 4 系统文件。 可读写
’ Directory 16 文件夹或目录。 只读
’ Archive 32 上次备份后已更改的文件。 可读写
’ Alias 1024 链接或快捷方式。 只读
’ Compressed 2048 压缩文件。 只读
’
’ Txt.Move ’移动指定的文件 用法:Set Txt = fso.GetFile(whichfile) Txt.Move "C:\\"
’ Txt.Copy ’复制指定的文件 用法:Set Txt = fso.GetFile(whichfile) Txt.Copy "D:\\"
’ Txt.delete ’删除指定的文件 用法:Set Txt = fso.GetFile("d:\\cnbruce.txt") Txt.delete
’
’
’ Txt.Size ’返回文件大小
’ Txt.Type ’返回文件类型
’ Txt.DateCreated ’返回文件创建时间
’ Txt.DateLastAccessed ’返回文件最近访问时间
’ Txt.DateLastModified ’返回文件最后修改时间
’
’
’ 常用函数记录
’ instr ’用法:alert(instr("Abcde","A"))
’ mid ’用法:alert(mid("abjdllodfjd",2,8)) 说明:显示从第二位到第8位的这符
’
’ FSO 文件操作相关
’ FSO 参数详解:
’ Fso.IsRootFolder=True|False ’是否为根目录
’ Fso.GetFolder ’读取文件夹 用法:Set fldr = fso.GetFolder("c:\\Program Files")
’ Fso.FolderExists=True|False ’查找此文件夹是否存在
’ Fso.CreateFolder ’创建文件夹 用法:fso.CreateFolder("c:\\cnbruce")
’ Fso.GetBaseName ’返回文件夹的名字 用法:fso.GetBaseName("c:\\cnbruce")
’ Fso.DeleteFolder ’删除指定的文件夹 用法:fso.DeleteFolder("c:\\cnbruce")
’ Fso.MoveFolder ’移动指定的文件夹 用法:fso.MoveFolder("c:\\cnbruce","C:\\Program Files") 将c:\\cnbruce移动到C:\\Program Files下
’ Fso.CopyFolder ’复制指定的文件夹 用法:fso.CopyFolder("c:\\Program Files\\cnbruce","c:\\") 将c:\\Program Files\\cnbruce复制到C:\\下
’
’ Fso.Drive ’返回驱动器的名字 返回 “D:”
’ Fso.GetDriveName ’提取驱动器名 返回“d:”
’ Fso.GetDrive ’提取驱动器名 返回 “D:” 常用写法:fso.GetDrive(fso.GetDriveName(drvPath))
’ 磁盘驱动器信息
’ Drv.DriveLetter ’返回盘符
’ Drv.VolumeName ’取得驱动器的卷标
’ Drv.TotalSize ’取得空间总大小 返回字节数,用FormatNumber(Drive.TotalSize/1024,0)格式化,返回多少G
’ Drv.FreeSpace ’剩余空间大小 返回同上
’ Drv.DriveType ’文件类型 0“设备无法识别” 1“软盘驱动器” 2“硬盘驱动器” 3“网络硬盘驱动器” 4“光盘驱动器” 5“RAM虚拟磁盘”
’ Drv.FileSystem ’磁盘格式
’ Drv.SerialNumber ’磁盘系列号
’ Drv.IsReady ’是否可用
’ Drv.Path ’磁盘路径
’ FSO文件操作
’ Txt.OpenTextFile ’打开指定的文件 用法:fso.OpenTextFile(whichfile,1) 参数1:表示“ForReading:只读,禁写。” 参数2:表示“ForWriting:可读,可写。” 参数8:表示“ForAppending:打开文件并从文件末尾开始写”
’ Txt.ReadLine ’读取一整行
’ Txt.Read(7) ’读取指定数量字符
’ Txt.ReadAll ’读取文本所有内容
’ Txt.CreateTextFile ’创建文件 用法:Set MyFile = Txt.CreateTextFile(whichfile,True) True即表示能覆盖已有文件
’ Txt.WriteLine ’向已有文件写入内容 用法:Txt.WriteLine("欢迎您来到本站")
’ Txt.Name ’返回文件名称
’ Txt.ShortPath ’返回文件短路径名
’ Txt.Path ’返回文件物理地址
’ Txt.Attributes ’返回文件属性
’ 返回值附录:
’ Normal 0 普通文件。 没有设置任何属性
’ ReadOnly 1 只读文件。 可读写
’ Hidden 2 隐藏文件。 可读写
’ System 4 系统文件。 可读写
’ Directory 16 文件夹或目录。 只读
’ Archive 32 上次备份后已更改的文件。 可读写
’ Alias 1024 链接或快捷方式。 只读
’ Compressed 2048 压缩文件。 只读
’
’ Txt.Move ’移动指定的文件 用法:Set Txt = fso.GetFile(whichfile) Txt.Move "C:\\"
’ Txt.Copy ’复制指定的文件 用法:Set Txt = fso.GetFile(whichfile) Txt.Copy "D:\\"
’ Txt.delete ’删除指定的文件 用法:Set Txt = fso.GetFile("d:\\cnbruce.txt") Txt.delete
’
’
’ Txt.Size ’返回文件大小
’ Txt.Type ’返回文件类型
’ Txt.DateCreated ’返回文件创建时间
’ Txt.DateLastAccessed ’返回文件最近访问时间
’ Txt.DateLastModified ’返回文件最后修改时间
’
’
’ 常用函数记录
’ instr ’用法:alert(instr("Abcde","A"))
’ mid ’用法:alert(mid("abjdllodfjd",2,8)) 说明:显示从第二位到第8位的这符
’
展开全部
显然要用递归
Dim fs As Object
Private Sub form_load()
'Call Folderlen("C:\program files")
Set fs = CreateObject("Scripting.FileSystemObject")
Dim r As Long
r = FolderlenRec("C:\program files")
Print r; "byte"
Print r \ 1024; "kb"
Print r \ 1024 \ 1024; "mb"
End Sub
Function FolderlenRec(path As String) As Long
Dim l As Long
Dim f As Object
Set f = fs.getfolder(path)
Dim fi As Object
For Each fi In f.Files
l = l + FileLen(path + "\" + fi.Name)
Next fi
For Each fi In f.subfolders
l = l + FolderlenRec(path + "\" + fi.Name)
Next fi
List1.AddItem path & Str(l) & "Byte"
FolderlenRec = l
End Function
Dim fs As Object
Private Sub form_load()
'Call Folderlen("C:\program files")
Set fs = CreateObject("Scripting.FileSystemObject")
Dim r As Long
r = FolderlenRec("C:\program files")
Print r; "byte"
Print r \ 1024; "kb"
Print r \ 1024 \ 1024; "mb"
End Sub
Function FolderlenRec(path As String) As Long
Dim l As Long
Dim f As Object
Set f = fs.getfolder(path)
Dim fi As Object
For Each fi In f.Files
l = l + FileLen(path + "\" + fi.Name)
Next fi
For Each fi In f.subfolders
l = l + FolderlenRec(path + "\" + fi.Name)
Next fi
List1.AddItem path & Str(l) & "Byte"
FolderlenRec = l
End Function
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很简单filelen("c:\boot.ini")
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询