DIR的用法

LiMeisoft 2004-08-11 05:17:28
怎么查找某个盘里后缀名为TXT的文件是否存在,可能会存在子目录里

为什么连续用DIR查找A盘会出错,A盘里没有软盘
Private Sub Command1_Click()
On Error GoTo ErrVS1
If Dir("a:\*.txt") <> "" Then
End If
ErrVS1:
On Error GoTo ErrVS2
If Dir("a:\*.txt") <> "" Then
End If
ErrVS2:

End Sub
...全文
276 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwh999 2005-08-30
  • 打赏
  • 举报
回复
Dir函数示例:

Dim MyFile, MyPath, MyName

' 返回“WIN.INI” (如果该文件存在)。
MyFile = Dir("C:\WINDOWS\WIN.ini")

' 返回带指定扩展名的文件名。如果超过一个 *.ini 文件存在,
' 函数将返回按条件第一个找到的文件名。
MyFile = Dir("C:\WINDOWS\*.ini")

' 若第二次调用 Dir 函数,但不带任何参数,则函数将返回同一目录下的下一个 *.ini 文件。
MyFile = Dir

' 返回找到的第一个隐式 *.TXT 文件。
MyFile = Dir("*.TXT", vbHidden)

' 显示 C:\ 目录下的名称。
MyPath = "c:\" ' 指定路径。
MyName = Dir(MyPath, vbDirectory) ' 找寻第一项。
Do While MyName <> "" ' 开始循环。
' 跳过当前的目录及上层目录。
If MyName <> "." And MyName <> ".." Then
' 使用位比较来确定 MyName 代表一目录。
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
Debug.Print MyName ' 如果它是一个目录,将其名称显示出来。
End If
End If
MyName = Dir ' 查找下一个目录。
Loop

hicksys 2005-08-30
  • 打赏
  • 举报
回复
Private Sub Command2_Click()
On Error Resume Next
If Dir("a:\*.txt") <> "" Then
End If
End Sub
conrad_wan 2005-08-30
  • 打赏
  • 举报
回复
我试了没问题,不弹出错误提示(XP下,VB6):

Private Sub Command1_Click()
On Error GoTo ErrVS1
If Dir("a:\*.txt") <> "" Then
End If
Exit Sub
ErrVS1:
MsgBox "error"
End Sub
seraphgxh 2005-08-30
  • 打赏
  • 举报
回复
我试了也出错,可能Dir()函数只支持本地硬盘。
yinweihong 2004-08-11
  • 打赏
  • 举报
回复
下面连接可以看看
http://community.csdn.net/Expert/topic/3249/3249785.xml?temp=.1643793
yinweihong 2004-08-11
  • 打赏
  • 举报
回复
楼主那是写的什么 晕~
不就是想用Dir遍历搜寻A:\下面是否有*.txt文件么?
递归就是了!
helanshan 2004-08-11
  • 打赏
  • 举报
回复
改成以下,找不到文件也不会有出错提示了。。不明白楼主为什么用了两次On Error GoTo
Private Sub Command1_Click()

On Error GoTo ErrVS1
If Dir("a:\*.txt") <> "" Then
End If
ErrVS1:
Resume Next
End Sub


LiMeisoft 2004-08-11
  • 打赏
  • 举报
回复
UP
zhangzhijian 2004-08-11
  • 打赏
  • 举报
回复
提示什么错误?
LiMeisoft 2004-08-11
  • 打赏
  • 举报
回复
回 bluesky23:
没有软盘是会出错,但我已经加了ON ERROR GOTO了
LiMeisoft 2004-08-11
  • 打赏
  • 举报
回复
FileSystemObject支持通配符吗?
szmickylee 2004-08-11
  • 打赏
  • 举报
回复
他想查找某个文件。其实应该用API来遍历目录和文件实现查找的。
bluesky23 2004-08-11
  • 打赏
  • 举报
回复
没有软盘当然会出错,判断一个文件是否存在,首先得保证它所在的路径存在。
陈年椰子 2004-08-11
  • 打赏
  • 举报
回复
提示什么错误?
starsoulxp 2004-08-11
  • 打赏
  • 举报
回复
具体什么意思,看不懂,怎么查了两遍
szmickylee 2004-08-11
  • 打赏
  • 举报
回复
用FileSystemObject来做

7,759

社区成员

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

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