vb6.0 查找指定文件
如何用vb6.0查找只知道文件名称和盘符,找到这个文件的具体路径如:查找H盘下的“chr.exe”,只知道在H盘,求出该文件的具体路径(可能有多个)?...
如何用vb6.0查找只知道文件名称和盘符,找到这个文件的具体路径
如:查找H盘下的“chr.exe”,只知道在H盘,求出该文件的具体路径(可能有多个)? 展开
如:查找H盘下的“chr.exe”,只知道在H盘,求出该文件的具体路径(可能有多个)? 展开
4个回答
展开全部
窗体添加一个列表框List1和一个按钮Command1,代码如下:
Private Function TreeSearch(ByVal sPath As String, ByVal sFileSpec As String, sFiles() As String) As Long
Static lngFiles As Long '文件数目
Dim sDir As String
Dim sSubDirs() As String '存放子目录名称
Dim lngIndex As Long
Dim lngTemp&
If Right(sPath, 1) <> "\" Then sPath = sPath & "\"
sDir = Dir(sPath & sFileSpec)
'获得当前目录下文件名和数目
Do While Len(sDir)
lngFiles = lngFiles + 1
ReDim Preserve sFiles(1 To lngFiles)
sFiles(lngFiles) = sPath & sDir
sDir = Dir
Loop
'获得当前目录下的子目录名称
lngIndex = 0
sDir = Dir(sPath & "*.*", vbDirectory)
Do While Len(sDir)
If Left(sDir, 1) <> "." And Left(sDir, 1) <> ".." Then '' 跳过当前的目录及上层目录
'找出子目录名
If GetAttr(sPath & sDir) And vbDirectory Then
lngIndex = lngIndex + 1
'保存子目录名
ReDim Preserve sSubDirs(1 To lngIndex)
sSubDirs(lngIndex) = sPath & sDir & "\"
End If
End If
sDir = Dir
Loop
For lngTemp = 1 To lngIndex
'查找每一个子目录下文件,这里利用了递归
Call TreeSearch(sSubDirs(lngTemp), sFileSpec, sFiles())
Next lngTemp
TreeSearch = lngFiles
' lngFiles = 0 '如果用到递归,需要删除此行
End Function
Private Sub Command1_Click()
Dim myFiles() As String
If TreeSearch("H:", "chr.exe", myFiles) > 0 Then
For i = 1 To UBound(myFiles)
List1.AddItem myFiles(i)
Next i
End If
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试试吧 应该能满足你需求
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询