精华内容
下载资源
问答
  • vbdir函数用法

    千次阅读 2010-07-22 11:14:00
    vb中提供的成员函数dir返回一个满足指定类型或指定文件属性的文件名,目录名或卷标名,dir函数的语法结构为:Member Function Dir[(Pathname[,attributes])] As String 其中参数Pathname通常为一个文件名,此文件名...

    vb中提供的成员函数dir返回一个满足指定类型或指定文件属性的文件名,目录名或卷标名,dir函数的语法结构为:Member Function Dir[(Pathname[,attributes])] As String 其中参数Pathname通常为一个文件名,此文件名可以包含目录或文件夹以及驱动器符号,如果没有找到指定的Pathname,dir语句将返回一个零长度的字符串("").支持多字符通配符和单字符通配符.需要注意的是 1.在程序中第一次调用dir函数时必须指明pathname参数,否则会产生运行错误; 2.dir函数只返回满足pathname条件的第一个文件名或目录名,要得到其余满足条件的文件名,可以再次调用dir函数而不用带参数,当没有匹配的文件,dir函数返回零长度的字符串,而此时如果再想调用dir函数,必须指定pathname参数,否则出现运行错误; 3.在没有检索到满足当前pathname匹配条件的文件时可以改变新的pathname值,但不能再次递归调用dir函数; 4.调用dir函数时将属性参数设置为vbdirectory并不能连续返回子目录,仅返回当前目录下的目录. 例1 Public Sub main() Dim filenames As String filenames = Dir("c:/", vbNormal + vbDirectory) Do While filenames <> "" Debug.Print filenames filenames = Dir ’再次调用dir函数,此时可以不带参数 Loop End Sub 例2 ’将符合条件的条件和目录分类,存到对应的数组中,完成输出 Public Sub main() Dim FileNames As String, DirNames As String Dim FileArray() As String, DirArray() As String Dim TotalDirs As Integer, TotalFiles As Integer Dim iLoop As Integer DirNames = "c:/" FileNames = Dir(Dirname, vbNormal + vbDirectory) Do While FileNames <> "" If FileNames <> "." And FileNames <> ".." Then If (GetAttr(Dirname & FileNames) And vbDirectory) = vbDirectory Then TotalDirs = TotalDirs + 1 ReDim Preserve DirArray(TotalDirs) DirArray(TotalDirs) = FileNames Else TotalFiles = TotalFiles + 1 ReDim Preserve FileArray(TotalFiles) FileArray(TotalFiles) = FileNames End If End If FileNames = Dir Loop ’这里可对数组进行排序,此处略 Debug.Print "___Directories______" For iLoop = 0 To UBound(DirArray) Debug.Print DirArray(iLoop) Next Debug.Print "___Files____" For iLoop = 0 To UBound(FileArray) Debug.Print FileArray(iLoop) Next End Sub Dir函数可以用在不确定本机是否存在某文件或目录的前提下后台帮助用户寻找并提示,然后运用该文件或目录完成指定操作,如run等.但是由于不能递归使用,这就意味着不能一次查找整棵树,更为糟糕的是,vb并没有提供用来在多个不知名的目录中查找某一给定的文件或文件簇的任何工具.幸运的win32api提供了一些文件查找的方法(SearchPath,FindFirstFile,FindNextFile等),此外还可利用已有的文件查找知识为用户创建一个listbox控件,用来显示所查找到的文件,以便用户能选中其一.

    展开全文
  • Vb6中Dir()函数的使用方法:
  • VB 使用 Dir 函数遍历文件夹

    万次阅读 2012-05-31 15:19:30
    语法: Dir[(pathname[, attributes])] Dir 函数的语法具有以下几个部分: 以 vbDirectory 属性来调用 Dir 不能连续地返回子目录。!!!...以下是VB帮助自带查目录的例子,明确的指出目录必须要...MyName = Dir(MyPath, vb
    语法:
    

    Dir[(pathname[, attributes])]

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

    以 vbDirectory 属性来调用 Dir 不能连续地返回子目录。!!!

    以下是VB帮助自带查目录的例子,明确的指出目录必须要用GetAttr!!!

    ' 显示 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函数Dir实现递归搜索目录

    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

    '函数GetExtName

    '功能:得到文件后缀名(扩展名)

    '输入:文件名

    '输出:文件后缀名(扩展名)

    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

    Public Function GetExtName(strFileName As String) As String
    Dim strTmp As String
    Dim strByte As String
    Dim i As Long
    For i = Len(strFileName) To 1 Step -1
         strByte = Mid(strFileName, i, 1)
         If strByte <> "." Then
            strTmp = strByte + strTmp
        Else
          Exit For
        End If
    Next i
    GetExtName = strTmp
    End Function
    Public Function search(ByVal strPath As String, Optional strSearch As String = "") As Boolean
    Dim strFileDir() As String
    Dim strFile As String
    Dim i As Long

    Dim lDirCount As Long
    On Error GoTo MyErr
    If Right(strPath, 1) <> "\" Then strPath = strPath + "\"
    strFile = Dir(strPath, vbDirectory Or vbHidden Or vbNormal Or vbReadOnly)
    While strFile <> "" '搜索当前目录
            DoEvents
            If (GetAttr(strPath + strFile) And vbDirectory) = vbDirectory Then '如果找到的是目录
               If strFile <> "." And strFile <> ".." Then '排除掉父目录(..)和当前目录(.)
                   lDirCount = lDirCount + 1 '将目录数增1
                   ReDim Preserve strFileDir(lDirCount) As String
                   strFileDir(lDirCount - 1) = strFile '用动态数组保存当前目录名
               End If
            Else
                If strSearch = "" Then
            Form1.List1.AddItem strPath + strFile
                ElseIf LCase(GetExtName(strPath + strFile)) = LCase(GetExtName(strSearch)) Then
                  '满足搜索条件,则处理该文件
                   Form1.List1.AddItem strPath + strFile '将文件全名保存至列表框List1中
                End If
            End If
            strFile = Dir
    Wend
    For i = 0 To lDirCount - 1
          Form1.Label3.Caption = strPath + strFileDir(i)
          Call search(strPath + strFileDir(i), strSearch) '递归搜索子目录
    Next
    ReDim strFileDir(0) '将动态数组清空
    search = True '搜索成功
    Exit Function
    MyErr:
    search = False '搜索失败
    End Function

    展开全文
  • vb.net 使用 DIR 遍历文件目录

    千次阅读 2016-05-10 15:47:54
    Dir 函数示例 本示例使用 Dir 函数来检查某些文件或目录是否存在。在 Macintosh 计算机上,默认驱动器名称是 “HD” ,并且路径部分由冒号取代反斜线隔开。而且 Microsoft Windows 的通配符在 Mac 中可以作为有效...

    原文地址

    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中提供的成员函数dir返回一个满足指定类型或指定文件属性的文件名,目录名或卷标名。dir函数的语法结构为: Member Function Dir[(Pathname[,attributes])] As String  其中参数Pathname通常为...
    VB中提供的成员函数dir返回一个满足指定类型或指定文件属性的文件名,目录名或卷标名。dir函数的语法结构为:

    Member Function Dir[(Pathname[,attributes])] As String

      其中参数Pathname通常为一个文件名,此文件名可以包含目录或文件夹以及驱动器符号,如果没有找到指定的Pathname,dir语句将返回一个零长度的字符串(""),支持多字符通配符和单字符通配符。需要注意的是:

      1.在程序中第一次调用dir函数时必须指明pathname参数,否则会产生运行错误;

      2.dir函数只返回满足pathname条件的第一个文件名或目录名,要得到其余满足条件的文件名,可以再次调用dir函数而不用带参数,当没有匹配的文件,dir函数返回零长度的字符串,而此时如果再想调用dir函数,必须指定pathname参数,否则出现运行错误;

      3.在没有检索到满足当前pathname匹配条件的文件时可以改变新的pathname值,但不能再次递归调用dir函数;

      4.调用dir函数时将属性参数设置为vbdirectory并不能连续返回子目录,仅返回当前目录下的目录。
      
      例1 

    Public Sub main() 
    Dim filenames As String 
    filenames = Dir("c:\", vbNormal + vbDirectory) 
    Do While filenames <> "" 
    Debug.Print filenames 
    filenames = Dir ’再次调用dir函数,此时可以不带参数 
    Loop 
    End Sub

      例2 

    ’将符合条件的条件和目录分类,存到对应的数组中,完成输出 
    Public Sub main() 
     Dim FileNames As String, DirNames As String 
     Dim FileArray() As String, DirArray() As String 
     Dim TotalDirs As Integer, TotalFiles As Integer 
     Dim iLoop As Integer 

     DirNames = "c:\" 
     FileNames = Dir(Dirname, vbNormal + vbDirectory) 
     Do While FileNames <> "" 
      If FileNames <> "." And FileNames <> ".." Then 
       If (GetAttr(Dirname & FileNames) And vbDirectory) = vbDirectory Then 
        TotalDirs = TotalDirs + 1 
        ReDim Preserve DirArray(TotalDirs) 
        DirArray(TotalDirs) = FileNames 
       Else 
        TotalFiles = TotalFiles + 1 
        ReDim Preserve FileArray(TotalFiles) 
        FileArray(TotalFiles) = FileNames 
       End If 
      End If 
      FileNames = Dir 
     Loop 
     ’这里可对数组进行排序,此处略 
     Debug.Print "___Directories______" 
     For iLoop = 0 To UBound(DirArray) 
      Debug.Print DirArray(iLoop) 
     Next 
     Debug.Print "___Files____" 
     For iLoop = 0 To UBound(FileArray) 
      Debug.Print FileArray(iLoop) 
     Next 
    End Sub

      Dir函数可以用在不确定本机是否存在某文件或目录的前提下后台帮助用户寻找并提示,然后运用该文件或目录完成指定操作,如run等。但是由于不能递归使用,这就意味着不能一次查找整棵树,更为糟糕的是,vb并没有提供用来在多个不知名的目录中查找某一给定的文件或文件簇的任何工具。幸运的win32api提供了一些文件查找的方法(SearchPath,FindFirstFile,FindNextFile等),此外还可利用已有的文件查找知识为用户创建一个listbox控件,用来显示所查找到的文件,以便用户能选中其一。
    展开全文
  • VB函数Dir实现递归搜索目录

    千次阅读 2005-04-17 01:59:00
    VB函数Dir实现递归搜索目录 我在很久以前就实现了这个方法了.它没有采用任何的控件形式.也没有调用系统API函数FindFirst,FindNext进行递归调用,和别人有点不同的就是我用的是VB中的Dir()函数.事实上,直接采用Dir...
  • 它没有采用任何的控件形式,也没有调用系统API函数FindFirst,FindNext进行递归调用,和别人有点不同的就是我用的是VB中的Dir()函数。事实上,直接采用Dir()函数是不能进行自身的递归的调用的,但我们可以采用一种...
  • VB在运行 sFileWO = Dir(WOfileDir & "\") 时候报错: Bad file name or number 检查这个路径是 \\IP\A 是存在的,为什么会报这个错?
  • If Dir("c:/wimdows/system/1.txt")="" Then msgbox("没有找到文件") exit sub else open "c:/wimdows/system/1.txt" for output as #1 print #1 end if end sub 在这个目录下已经存在文件1.txt,...
  • VB函数Dir实现递归搜索目录 我在很久以前就实现了这个方法了.它没有采用任何的控件形式.也没有调用系统API函数FindFirst,FindNext进行递归调用,和别人有点不同的就是我用的是VB中的Dir()函数.事实...
  • 使用各种函数判断局域网内的共享文件夹是否存在,遇到了文件路径不存在程序会假死的问题,请问有什么办法能在不假死的情况下判断网络共享文件是否存在
  • 也没有调用系统API函数FindFirst,FindNext进行递归调用,和别人有点不同的就是我用的是VB中的Dir()函数.事实上,直接采用Dir()函数是不能进行自身的递归的调用的,但我们可以采用一种办法把Dir将当前搜索目录的子目录给...
  • Dir("一个不存在的路径时") 在某些系统下会随机产生这个运行时错误 估计是那些系统做过什么优化还是咋地. VB run-time error 52 bad bad file name or number
  • VB 分别用DIR和API遍历驱动器实例

    千次阅读 2007-10-03 12:27:00
    相信大家都用过DIR函数吧,用没有用过DIR遍历某个文件夹,甚至一个驱动器乃至整个硬盘呢?有没有想过究竟是DIR使用方便还是API方便呢?有没有想过使用DIR快些还是API快些呢?好了一切都可以在我提供的源码实例中得到肯定...
  • 我写了一个程序,分别遍历了一个硬盘下的文件,并利用timer来记录时间,发现用Dir比FindFirstFile和FindNextFile的速度要快1.5倍,不像网上有些人说的要慢 
  • VB遍历某目录下的某类型文件(Dir)

    千次阅读 2008-02-20 13:10:00
    List = ""tmp = Dir("c:*.txt")List = tmp + vbCrLfDo While tmp "" tmp = Dir List = List + tmp + vbCrLfLoopMsgbox List 
  • VB

    2019-09-21 23:42:14
    获取时间戳 ...说明:使用 Dir 函数会返回一个 String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。 注:Dir 会返回匹配 pathname 的第一个文件名。...
  • 取法:strfilename = Dir(strpath, 7) 其中:strfilename--文件名strpath--完整的文件路径7--参数
  • vb数据库实例

    2012-06-30 20:01:05
    vb数据库实例,简单的数据库实例应用 Dim intResult, i, intFind As Integer MyPath = "d:\" MyName = Dir(MyPath, vbDirectory) ReDim Mydirectory(intResult) MyName = Dir MyFile = "d:\1" & "\" & Form2.Text1....
  • vb菜单联动

    2015-08-22 23:40:52
    vb菜单联动Private Sub close_Click() On Error Resume Next '循环语句 For Each main In Forms If main.MDIChild = True Then Unload main End If Next Dim FNum As Integer Dim strfilename As String ...
  • vb打印功能

    2015-05-19 09:42:19
    ret = GetPrivateProfileString("list", "dir1", "dir1", buff, 256, App.Path & "\" & "printer.ini") Dir1.Path = buff ret = GetPrivateProfileString("zoom", "text1", "text1", buff, 256, App.Path & "\" & ...
  • Nothing Is Perfect ZOrder property Behavior Dir Command 在转换向导结束之后,升级报告可能会将许多问题列出来。许多这些问题都是小问题,都是升级向导所...VB6中使用的ZOrder属性。 另一个例子是关于Dir命令的。
  • Dir 函数使用详解:

    2021-02-07 14:18:55
    VB Dir 函数使用详解: 返回一个 String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。 语法: Dir [(pathname[, attributes])] Dir函数的语法具有以下几个部分: 部分...
  • excel VB代码

    2020-08-04 11:58:46
    Sub look() Dim xCount%, yCount%, a$, b$ Dim ws As Worksheet Dim wb As Workbook Dim mypath$, myname$ ... myname = Dir(mypath & "*.*") ' MsgBox myname Application.ScreenUpdating = False
  • VB 创建文件夹

    千次阅读 2011-12-07 09:30:26
    if dir( "c:\test ",vbDirectory)= " " then mkdir "c:\test " 或用fso 2007-06-10 用vb创建文件夹并检查其是否已存在 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 ...
  • 你好,可以使用shell命令举个例子shell "cmd /c dir",1 '/c表示执行完即关闭窗口shell "cmd /k dir",1 '/k表示执行完停留shell "cmd /c dir && pause",1 '多条语句可用&&连接关于cmd的具体用法可以在...

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 337
精华内容 134
关键字:

dirvb