关于文件查找问题-VB中有代表任意字符的东西吗?
来源:百度知道 编辑:UC知道 时间:2024/05/31 01:13:24
要查找部分文件名匹配的文件
我用的这个
MyPath = "c:\" '注?: 指定路径c:\。
MyName = Dir(MyPath, vbDirectory) '注?: 找?第一?。
intResult = 1
ReDim Mydirectory(intResult)
Do While MyName <> "" '注?: ?始循?。注?: 跳?当前的目?及上?目?。
If MyName <> "." And MyName <> ".." Then '注?: 使用位比?来?定 MyName 代表一目?。
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then '注?: 如果它是一个目?,将其名称存?在一个数?里。
Mydirectory(intResult) = MyPath & MyName
intResult = intResult + 1
ReDim Preserve Mydirectory(intResult) '分配??数???的元素个数,并保留数?中的数据
End If
End If
MyName = Dir '注?: ?找下一个目?。
Loop
For I = 1 To UBound(Mydirectory) - 1
MyFile = Mydirectory(I) & ? &"\111.xls"
intFind = Len(Dir(MyFile))
If intFind <> 0 Then
MsgBox "找到文件" & Dir(MyFile) & &q
我用的这个
MyPath = "c:\" '注?: 指定路径c:\。
MyName = Dir(MyPath, vbDirectory) '注?: 找?第一?。
intResult = 1
ReDim Mydirectory(intResult)
Do While MyName <> "" '注?: ?始循?。注?: 跳?当前的目?及上?目?。
If MyName <> "." And MyName <> ".." Then '注?: 使用位比?来?定 MyName 代表一目?。
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then '注?: 如果它是一个目?,将其名称存?在一个数?里。
Mydirectory(intResult) = MyPath & MyName
intResult = intResult + 1
ReDim Preserve Mydirectory(intResult) '分配??数???的元素个数,并保留数?中的数据
End If
End If
MyName = Dir '注?: ?找下一个目?。
Loop
For I = 1 To UBound(Mydirectory) - 1
MyFile = Mydirectory(I) & ? &"\111.xls"
intFind = Len(Dir(MyFile))
If intFind <> 0 Then
MsgBox "找到文件" & Dir(MyFile) & &q
Dir 函数支持使用通配符:* 和 ?匹配一个或多个字符
如匹配 EXE 文件
Name = Dir("*.exe")
匹配字母 A 打头的 EXE 文件
Name = Dir("a*.exe")
对 Dir 函数返回的结果,若需要进一步匹配处理可以使用 Like 关键字,它的功能更加强大一些, Like 的用法请参见 MSDN
通过FOR each 和INSTR函数可达到这种功能.