vb中的dir$是什么意思

vb中的dir$是什么意思,第1张

VB中Dir$也即Dir 函数,是用以表示一个文件名、目录名或文件夹名称。

Dir 函数,返回一个 String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。

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

vb获取目录下所有文件夹名称的方法Private Sub Form_Load()

Dim sB As String

Dim sF As String

Dim c As Integer

Combo1.Clear

c = 0

Path = "\\10.56.88.102\blzxphoto\"

sB = Path

sF = Dir(sB, vbDirectory) ' 查找目录中第一个文件夹名称

Do While sF <>""

' 跳过当前的目录及上层目录

If sF <>"." And sF <>".." Then

If (GetAttr(sB + sF) And vbDirectory) = vbDirectory Then

Combo1.AddItem sF ' 如果它是一个目录,将其名称添加到 Combo1 列表

c = c + 1

End If

End If

sF = Dir ' 查找下一个目录

Loop

MsgBox c

Combo1.ListIndex = 0 '选择第一项

End Sub 语法

Dir[(pathname[, attributes])]

Dir 函数的语法具有以下几个部分:

部分 描述

pathname 可选参数。用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到 pathname,则会返回零长度字符串 ("")。

attributes 可选参数。常数或数值表达式,其总和用来指定文件属性。如果省略,则会返回匹配 pathname 但不包含属性的文件。

设置值

attributes 参数的设置可为:

常数 值 描述

vbNormal 0 (缺省) 指定没有属性的文件。

vbReadOnly 1 指定无属性的只读文件

vbHidden 2 指定无属性的隐藏文件

VbSystem 4 指定无属性的系统文件

vbVolume 8 指定卷标文件;如果指定了其它属性,则忽略vbVolume

vbDirectory 16 指定无属性文件及其路径和文件夹。

注意 这些常数是由 VBA 所指定的,在程序代码中的任何位置,可以使用这些常数来替换真正的数值。

说明

Dir 支持多字符 (*) 和单字符 (?) 的通配符来指定多重文件。

由于 Macintosh 不支持通配符,使用文件类型指定文件组。可以使用 MacID 函数指定文件类型而不用文件名。比如,下列语句返回当前文件夹中第一个TEXT文件的名称:

Dir("SomePath", MacID("TEXT"))

为选中文件夹中所有文件,指定一空串:

Dir("")

在 Microsoft Windows 中,如果在Dir函数中使用MacID函数,将产生错误。

任何大于256的attribute值都被认为是MacID 函数的值。

在第一次调用 Dir 函数时,必须指定 pathname,否则会产生错误。如果也指定了文件属性,那么就必须包括 pathname。

Dir 会返回匹配 pathname 的第一个文件名。若想得到其它匹配 pathname 的文件名,再一次调用 Dir,且不要使用参数。如果已没有合乎条件的文件,则 Dir 会返回一个零长度字符串 ("")。一旦返回值为零长度字符串,并要再次调用 Dir 时,就必须指定 pathname,否则会产生错误。不必访问到所有匹配当前 pathname 的文件名,就可以改变到一个新的 pathname 上。但是,不能以递归方式来调用 Dir 函数。以 vbDirectory 属性来调用 Dir 不能连续地返回子目录。

提示 由于文件名并不会以特别的次序来返回,所以可以将文件名存储在一个数组中,然后再对这个数组排序。

Dir ([PathName],[Attributes as VbFileAttribute = vbNormal]) as String 解释:PathName:文件或文件夹的绝对路径。 Attributes:文件的属性--默认值:vbNormal 是普通文件,vbHidden 是隐藏文件,vbDirectory是文件夹。 "[]"内为可以选项。Dir(file)=""表示文件或文件夹不存,即文件或文件夹的实际路径文空。Dir(file)<>""表示文件或文件夹存在,即文件或文件夹实际路径不为空。 例如判断C:\Windows\System32\cmd.exe是否存在,如存在,就调用它,可用下列语句: '文件存,利用Shell调用,默值为vbNormalIf Dir("C:\Windows\System32\cmd.exe")<>"" Then Shell "C:\Windows\System32\cmd.exe"End If 如果判断的文件是隐藏文件,上面的语则无法判断出来,这时就需要加上后面的可选项目,例如 判断D盘根目录下是否有隐藏文件text.txt,就用下面的源代码: If Dir("D:\text.txt",vbHidden)<>"" Then Msgbox "找到Text.txt隐藏文件" End If 判断件夹是否存,与判断隐藏文件的方法一样,可用下列语句: Dir("文件夹路径",vbDirectory)<>"" 例如,要判断文件D:\Backup是否存在,源代码如下: If Dir("D:\Backup",vbDirectory)<>"" Then Msgbox "文件夹:D:\Backup 存在!" End If 二、在VB的编程,也会用到利用应程序时生成文件夹。可以利用下面的言句生成文件夹: MkDir "文件夹路径" 例如:在应用程序根目录下,生成Backup文件夹。在生成之前先判断该文件夹否存在。源代码如下: Dim BackupPath As String Select Case Right(App.Path,1) '判断路径是否包含'\' case '\': BackupPath = App.Path &"Backup" case Else BackupPath = App.Path &"\Backup" End Select If Dir(BackuPath,vbDirectory)="" Then '文件夹不存在 MkDir BackuPath '在应用程序根目下,创建文件夹Backup End If


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7984531.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存