用VB如何做对整个电脑文件的搜索的程序
例如:图片,程序文件等等
用API啊,将每个目录下的文件,记录到一个文件中,然后对你要查找的文件名,进行搜索。 简单,多想想。 当然,算法很重要,因为涉及效率。
非原创,出自个人从网络得到的资料,仅供LZ参考: ' Need a ListBox, CommandBox Option Explicit '宣告搜寻到的文件的储存阵列变数 Private FilePackage() As String Private Sub Command1_Click() '宣告存放目录名称储存阵列变数 Dim DirPackage() As String '存放文件搜寻条件之字串 Dim SearchString As String '接收 Dir() 传回字串,并做为回圈判断的字串 Dim DirString As String 'I 目前搜寻目录的指位器,J 是 DirPackage 目录阵列之上限指标 'K 是 FilePackage 之文件阵列之上限指标 Dim I As Long, J As Long, K As Long '把 ListBox 的旧显示资料清掉 List1。
Clear '把 FilePackage 的上一次搜寻资料清掉 Erase FilePackage '假设我们的搜寻从 C 碟根目录开始 ReDim DirPackage(0) '路径结尾一定要加 "\" DirPackage(0) = "c:\" '假设我们的搜寻字串是 "*。
exe" SearchString = "*。exe" '显示沙漏指标 Me。MousePointer = 11 '-------- 以下搜寻 C 碟 所有的目录 ----------------- '直到目录指位器 I 超过目录上限指标 J 才结束搜寻 Do While I "" '不要把上层目录和现目录的指标符号算进去 If DirString <> "。
" And DirString <> "。。" Then '如果找到的是个目录 If (GetAttr(DirPackage(I) & DirString) And vbDirectory) _ = vbDirectory Then '把目录上限加 1 J = J + 1 '把储存目录名称的阵列加一个 ReDim Preserve DirPackage(J) '把查到的新目录放在 DirPackage 新元素 DirPackage(J) = DirPackage(I) + DirString + "\" '如果找到的是个文件 Else '如果与搜寻字串相符合 If UCase(DirString) Like UCase(SearchString) Then '把储存文件名称的阵列加一个 ReDim Preserve FilePackage(K) '把查到的新文件放在 filePackage 新元素 FilePackage(K) = DirPackage(I) + DirString '把文件上限加 1 K = K + 1 End If End If End If '继续找是否有符合的资料,并把结果放 DirString DirString = Dir DoEvents Loop '把现目录指标往下移一个 I = I + 1 Loop '-------- 以下将结果输出到列示盒 ----------------- '-------- 以下为找到文件之总计 ----------------- '还原鼠标指标 Me。
MousePointer = 0 If K = 0 Then MsgBox "没有 " & SearchString & " 的文件" Else '以下将结果输出到列示盒 For I = 0 To UBound(FilePackage) List1。
AddItem FilePackage(I) DoEvents Next MsgBox "总共找到 " & UBound(FilePackage) + 1 & " 个文件" End If End Sub 。
答:详情>>
答:详情>>