vb中的dir跟dos的dir有区别?

yyyrrr51 2010-12-02 01:11:17
以下是文件夹中的文件:
ABC.ETX
ABC.ETX_INF
ABC.ETX_EKO
DEF.ETX
DEF.ETX_INF
DEF.ETX_EKO

我只想找*.ETX的文件
用dir("*.etx")竟然将.etx_inf和.etx_eko的文件也搜索出来了
...全文
80 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinaboyzyq 2010-12-02
  • 打赏
  • 举报
回复

Dim x
x = Dir("c:\*.txt")
While x <> ""
If Len(x) - InStrRev(x, ".") = 3 Then Debug.Print x
x = Dir

Wend

dbcontrols 2010-12-02
  • 打赏
  • 举报
回复
取得扩展名,看是不是pat

[Quote=引用 5 楼 yyyrrr51 的回复:]
谢谢,除FSO外,我上面的办法有没有办法优化
[/Quote]
dbcontrols 2010-12-02
  • 打赏
  • 举报
回复
我该走了,回来再试试

[Quote=引用 5 楼 yyyrrr51 的回复:]
谢谢,除FSO外,我上面的办法有没有办法优化
[/Quote]
yyyrrr51 2010-12-02
  • 打赏
  • 举报
回复
谢谢,除FSO外,我上面的办法有没有办法优化
dbcontrols 2010-12-02
  • 打赏
  • 举报
回复
试试这个,刚出炉的
'从菜单“工程”->“引用”->Microsoft Scripting RunTime
Dim Flder As String
Private Sub Command1_Click()
Flder = ""
Flder = GetFolder
If Flder = "" Then Exit Sub
Me.Caption = Flder
List1.Clear
Dim FSO As New FileSystemObject
Dim FL As File
For Each FL In FSO.GetFolder(Flder).Files
If ExtName(FL.Name) = "pat" Then
List1.AddItem FL.Name
End If
Next
End Sub
Private Function ExtName(ByVal PathName As String) As String
'得到文件的扩展名
aa = InStr(1, PathName, ".")
bb = PathName
Do While aa >= 0
bb = Mid(bb, InStr(1, bb, ".") + 1, Len(bb))
aa = aa - 1
Loop
ExtName = bb
End Function
yyyrrr51 2010-12-02
  • 打赏
  • 举报
回复
按上面文件搜索 *.pat的文件
找出
abc.pat
abc.pat_inf
abc.pat_msk
之类的也找出来
其它我只要abc.pat
其它两个不要
yyyrrr51 2010-12-02
  • 打赏
  • 举报
回复

Sub SearchFile(FolderName As String)
Dim tmpf As String
Dim FileName As String, tmp As String
FileName = Dir(FolderName & "\*.pat")

Do While Not FileName = ""
If FileName <> "." And FileName <> ".." Then
tmp = FolderName & "\" & FileName
tmpf = FileName
If GetAttr(tmp) <> vbDirectory Then
List1.AddItem Left(tmpf, InStrRev(tmpf, ".") - 1)
End If
End If
FileName = Dir
Loop
End Sub


Private Sub Command1_Click()
SearchFile "d:\code\pat"
End Sub

dbcontrols 2010-12-02
  • 打赏
  • 举报
回复
无代码无真相,你怎么找的帖出来大家看看

7,763

社区成员

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

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