注册 登录
编程论坛 VB6论坛

请问,Dir(目录,vbDirectory )="." 是什么意思?谢谢!

mansohu 发布于 2015-03-01 14:19, 9611 次点击
请问,Dir(目录,vbDirectory )="." 是什么意思?谢谢!
6 回复
#2
xingming0222015-03-01 15:35
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



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

#3
风吹过b2015-03-01 18:11
开始-》运行 ,输入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 ..  
向上退一层目录。
#4
lianyicq2015-03-02 08:49
正如风吹过b版主所说。可能是因为不了解DOS操作引起的。“.”表示当前目录;“..”表示前一级目录;“\”表示根目录。前面要加dos命令。
#5
mansohu2015-03-02 19:48
回复 4楼 lianyicq
请问,为什么有时会显示目录的名称?而不都是“.”?谢谢!
#6
lianyicq2015-03-03 08:51
回复 5楼 mansohu
dir函数只要是带了vbDirectory参数,在遍历当前目录的返回值中总包含“.”和“..”,其它的是无属性的文件和下一级目录名。
Dir(目录,vbDirectory )="." 这句不可能独立存在,前面应该有逻辑判断语句。
#7
qq11055936812018-02-20 12:20
回复 2楼 xingming022
麻烦问一下 GetAttr()这是个什么函数,我不懂能讲解一下吗?小弟谢过了!
1