| 网站首页 | 业界新闻 | 群组 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 9276 人关注过本帖
标题:请问,Dir(目录,vbDirectory )="." 是什么意思?谢谢!
只看楼主 收藏
mansohu
Rank: 1
等 级:新手上路
帖 子:182
专家分:0
注 册:2013-3-20
结帖率:21.82%
  已结贴   问题点数:10  回复次数:6   
请问,Dir(目录,vbDirectory )="." 是什么意思?谢谢!
请问,Dir(目录,vbDirectory )="." 是什么意思?谢谢!
2015-03-01 14:19
xingming022
Rank: 1
等 级:新手上路
帖 子:74
专家分:9
注 册:2015-1-26
  得分:4 
Dir 函数示例
本示例使用 Dir 函数来检查某些文件或目录是否存在。在 Macintosh 计算机上,默认驱动器名称是 “HD” ,并且路径部分由冒号取代反斜线隔开。而且 Microsoft Windows 的通配符在 Mac 中可以作为有效字符出现在文件名中。也可以使用 MacID 函数来指定文件组。

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



帮助里面的解释,这里应该有你要的答案。

2015-03-01 15:35
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:203
帖 子:4169
专家分:25597
注 册:2008-10-15
  得分:4 
开始-》运行 ,输入CMD
然后输入dir ,按回车。如:

C:\Windows>dir
 驱动器 C 中的卷没有标签。
 卷的序列号是 5238-A82E

 C:\Windows 的目录

2015/02/11  15:39    <DIR>          .
2015/02/11  15:39    <DIR>          ..
2009/07/14  13:32    <DIR>          addins
2006/03/14  14:28           172,032 amcap.exe
2009/07/14  11:20    <DIR>          AppCompat
2014/09/26  23:24    <DIR>          AppPatch
2014/09/26  17:21                 0 ativpsrm.bin
2010/11/21  11:24            71,168 bfsvc.exe
2013/08/27  10:47            47,128 BocomKeyFlt.sys
2009/07/14  13:32    <DIR>          Boot

看到最上面二行吗?
.    表示当前目录, 如 C:\windows\.    = C:\windows\   
..   表示当前目录的上一层目录  如:c:\windows\.. = C:\
这二行是一个虚拟的目录,系统使用的,所以我们列出目录时要去掉。

-----------------
这个东西是从DOS里来的。

Cd .
相当于不执行

cd ..  
向上退一层目录。

授人于鱼,不如授人于渔
早已停用QQ了
2015-03-01 18:11
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:735
专家分:3478
注 册:2013-1-26
  得分:4 
正如风吹过b版主所说。可能是因为不了解DOS操作引起的。“.”表示当前目录;“..”表示前一级目录;“\”表示根目录。前面要加dos命令。

大开眼界
2015-03-02 08:49
mansohu
Rank: 1
等 级:新手上路
帖 子:182
专家分:0
注 册:2013-3-20
  得分:0 
回复 4楼 lianyicq
请问,为什么有时会显示目录的名称?而不都是“.”?谢谢!
2015-03-02 19:48
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:735
专家分:3478
注 册:2013-1-26
  得分:0 
回复 5楼 mansohu
dir函数只要是带了vbDirectory参数,在遍历当前目录的返回值中总包含“.”和“..”,其它的是无属性的文件和下一级目录名。
Dir(目录,vbDirectory )="." 这句不可能独立存在,前面应该有逻辑判断语句。

大开眼界
2015-03-03 08:51
qq1105593681
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-4-30
  得分:0 
回复 2楼 xingming022
麻烦问一下 GetAttr()这是个什么函数,我不懂能讲解一下吗?小弟谢过了!
2018-02-20 12:20







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.212831 second(s), 8 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved