-
vb中dir函数用法
2010-07-22 11:14:00vb中提供的成员函数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()函数的使用方法
2019-03-18 20:53:26Vb6中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 ThenDebug.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 LongDim 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:54Dir 函数示例 本示例使用 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
帮助里面的解释,这里应该有你要的答案。 -
VB6.0中Dir()函数的使用方法
2016-12-02 13:38:59VB中提供的成员函数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并不能连续返回子目录,仅返回当前目录下的目录。
例1Public 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... -
利用VB函数Dir()实现递归搜索目录
2012-07-26 11:48:00它没有采用任何的控件形式,也没有调用系统API函数FindFirst,FindNext进行递归调用,和别人有点不同的就是我用的是VB中的Dir()函数。事实上,直接采用Dir()函数是不能进行自身的递归的调用的,但我们可以采用一种... -
VB Dir Bad file name or number 报错
2015-08-22 15:30:59VB在运行 sFileWO = Dir(WOfileDir & "\") 时候报错: Bad file name or number 检查这个路径是 \\IP\A 是存在的,为什么会报这个错? -
vb中 dir 函数为什么没有返回
2013-06-08 15:17:06If 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实现递归搜索目录(转 )
2007-07-08 12:02:32用VB函数Dir实现递归搜索目录 我在很久以前就实现了这个方法了.它没有采用任何的控件形式.也没有调用系统API函数FindFirst,FindNext进行递归调用,和别人有点不同的就是我用的是VB中的Dir()函数.事实... -
vb使用dir检测网络共享路径是否存在假死的问题
2020-09-16 00:47:18使用各种函数判断局域网内的共享文件夹是否存在,遇到了文件路径不存在程序会假死的问题,请问有什么办法能在不假死的情况下判断网络共享文件是否存在 -
用VB函数Dir实现递归搜索目录(转载)
2007-08-29 14:30:00也没有调用系统API函数FindFirst,FindNext进行递归调用,和别人有点不同的就是我用的是VB中的Dir()函数.事实上,直接采用Dir()函数是不能进行自身的递归的调用的,但我们可以采用一种办法把Dir将当前搜索目录的子目录给... -
VB Dir 造成 run-time error 52 bad bad file name or number
2011-11-29 19:54:15Dir("一个不存在的路径时") 在某些系统下会随机产生这个运行时错误 估计是那些系统做过什么优化还是咋地. 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快些呢?好了一切都可以在我提供的源码实例中得到肯定... -
关于VB的函数dir和Api函数FindFirstFile和FindNextFile
2009-03-15 21:26:00我写了一个程序,分别遍历了一个硬盘下的文件,并利用timer来记录时间,发现用Dir比FindFirstFile和FindNextFile的速度要快1.5倍,不像网上有些人说的要慢 -
VB遍历某目录下的某类型文件(Dir)
2008-02-20 13:10:00List = ""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 的第一个文件名。... -
关于VB中用DIR函数,从完整的文件路径中取得文件名的方法
2009-09-01 10:57:00取法:strfilename = Dir(strpath, 7) 其中:strfilename--文件名strpath--完整的文件路径7--参数 -
vb数据库实例
2012-06-30 20:01:05vb数据库实例,简单的数据库实例应用 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:52vb菜单联动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:19ret = GetPrivateProfileString("list", "dir1", "dir1", buff, 256, App.Path & "\" & "printer.ini") Dir1.Path = buff ret = GetPrivateProfileString("zoom", "text1", "text1", buff, 256, App.Path & "\" & ... -
【VB/.NET】Converting VB6 to VB.NET 【Part II】【之一】
2013-04-17 16:07:54Nothing Is Perfect ZOrder property Behavior Dir Command 在转换向导结束之后,升级报告可能会将许多问题列出来。许多这些问题都是小问题,都是升级向导所...VB6中使用的ZOrder属性。 另一个例子是关于Dir命令的。 -
Dir 函数使用详解:
2021-02-07 14:18:55VB Dir 函数使用详解: 返回一个 String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。 语法: Dir [(pathname[, attributes])] Dir函数的语法具有以下几个部分: 部分... -
excel VB代码
2020-08-04 11:58:46Sub 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:26if dir( "c:\test ",vbDirectory)= " " then mkdir "c:\test " 或用fso 2007-06-10 用vb创建文件夹并检查其是否已存在 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 ... -
vb弹出cmd_如何vb打开cmd并运行一个指令
2021-03-07 06:28:52你好,可以使用shell命令举个例子shell "cmd /c dir",1 '/c表示执行完即关闭窗口shell "cmd /k dir",1 '/k表示执行完停留shell "cmd /c dir && pause",1 '多条语句可用&&连接关于cmd的具体用法可以在...