如何遍历某个文件夹下的所有文件?

sglbaby 2004-12-16 07:33:24
比如我想知道C:\aaa下的所有文件的名字。
知道后,并且存在文件,我再删除aaa文件夹
...全文
148 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
homezj 2004-12-16
  • 打赏
  • 举报
回复
删文件夹有点复杂,要考虑文件属性,是否可以删除,
s = Dir(path & "\*", vbHidden Or vbArchive Or vbNormal Or vbReadOnly Or vbSystem)
Do While s <> ""
SetAttr tpath & "\" & s, vbNormal
s = Dir()
Loop
kill path & "\*"
RmDir path

以上办法,还不能删除包括子文件夹的文件夹,你需先逐级删子文件夹,有点烦,自己想吧。
注意:Dir不能用于递归。
lxcc 2004-12-16
  • 打赏
  • 举报
回复
'添加Microsoft Scripting RunTime的引用
Private Sub Command1_Click()
Dim fso As New FileSystemObject
Dim fod As Folder
Dim fil As File

Set fod = fso.GetFolder("c:\aaa")
For Each fil In fod.Files
fil.Delete True
Next

Set fil = Nothing
Set fod = Nothing
Set fso = Nothing
End Sub
dongge2000 2004-12-16
  • 打赏
  • 举报
回复
'模 块 名:GetFileList
'功 能:返回指定文件夹的所有文件名列表
'返 回 值:成功/失败:True/False
'参 数:GetFileList(指定文件夹路径, 文件数组,返回的文件类型)
'引 用:无
'外部函数:无
'内部变量:[fName=文件名][i=用于循环]
'调用方法:
'++++++++++++++++++++++++++++++++++++
' Dim FileName() As String, i As Long
' GetFileList "c:\", FileName
' For i = 0 To UBound(FileName)
' Debug.Print FileName(i)
' Next i
'++++++++++++++++++++++++++++++++++++
Function GetFileList(ByVal Path As String, ByRef Filename() As String, Optional fExp As String = "*.*") As Boolean
Dim fName As String, i As Long
If right$(Path, 1) <> "\" Then Path = Path & "\"
fName = Dir$(Path & fExp)
i = 0
Do While fName <> ""
ReDim Preserve Filename(i) As String
Filename(i) = fName
fName = Dir$
i = i + 1
Loop
If i <> 0 Then
ReDim Preserve Filename(i - 1) As String
GetFileList = True
Else
GetFileList = False
End If
End Function

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧