vb实现目录下所有文件/目录名称的获取
2014-10-13 09:40
323 查看
http://blog.sina.com.cn/s/blog_53a06e870100fjix.html
前几日,有个哥们说有很多电影,问我要不要?我就让他一个一个的写过来,让哥们累个不轻。所以就想简单写个程序,获取一下文件夹下面的所有文件名称,这样就可以节省很多时间了。
软件呢,我已经上传到网站了:http://download.csdn.net/source/1802599
vb版本目录获取器 1.0(龙卷风出品)
说明:
1.选好目录后,可以直接得到目录下的文件夹和文件名称,以及统计数目。
2."树形结构"按键将会把各文件夹和文件罗列下来。
3."树形展开"将把目录下的子目录也一并展开。大家测试的时候需要注意,不要用太深的目录来测。
下面开始动手的步骤:
vb中有个函数Dir(),这个就是今天的主角了。Dir()第一次调用的时候,必须指定路径。然后其会返回一个string,这就是一个文件夹,或者一个文件的名称了。具体用法,大家google一下吧。我就不多说了。
然后就是区分返回值是文件夹,还是文件。这里用到的就是vbDirectory(=16)这个属性了。
OK. 剩下的就简单了,我把我软件中的这部分发出来share一下,大家不要说水平太差哟:
首先我是将文件显示做了区分:文件夹名称显示folderlist(),文件名称显示filelist():
Private Function folderlist(pathname As String, treeflag As Integer) 'treeflag:0列表 1树形 2树形展开
'文件夹数和名称
Dim sf As String
sf = Dir(pathname, vbDirectory) '获取第一个目录名
foldernum = 0
Do While sf <> ""
' 跳过当前的目录及上层目录
If sf <> "." And sf <> ".." Then
If (GetAttr(pathname + sf) And vbDirectory) = vbDirectory Then
If treeflag = 0 Then
Text2 = Text2 & sf & vbCrLf ' 如果它是一个目录,将其名称添加到列表
ElseIf treeflag = 1 Then
Text2 = Text2 & Treestr & sf & vbCrLf
ElseIf treeflag = 2 Then '树形展开的时候,需要了解子目录,所以还需进行递归调用
Text2 = Text2 & Treestr & sf & vbCrLf
folderlist pathname + sf, treeflag
filelist pathname + sf, treeflag
End If
foldernum = foldernum + 1 '统计文件夹数目
End If
End If
sf = Dir() ' 查找下一个目录
Loop
If treeflag = 0 Then
If foldernum <> 0 Then
Text2 = Text2 & vbCrLf & "======共有" & foldernum & "个文件夹======" & vbCrLf & vbCrLf
Else
Text2 = Text2 & "======无子目录======" & vbCrLf & vbCrLf
End If
ElseIf foldernum <> 0 Then
Text2 = Text2 & Nullstr & vbCrLf & Nullstr & vbCrLf
End If
End Function
Private Function filelist(pathname As String, treeflag As Integer) '0列表
1树形 2树形展开
'文件数和名称
Dim a As String
a = Dir(pathname & "\*.*")
filenum = 0
Do While a <> ""
If treeflag = 0 Then
Text2 = Text2 & a & vbCrLf
Else
Text2 = Text2 & Treestr & a & vbCrLf
End If
filenum = filenum + 1 '统计文件数目
a = Dir
Loop
If treeflag = 0 Then
If filenum <> 0 Then
Text2 = Text2 & "======共有" & filenum & "个文件======"
Else
Text2 = Text2 & "======无文件信息======"
End If
End If
End Function
OK,现在大家都已经了解处理机制了。应该不会再管我要什么源码了吧!呵呵
前几日,有个哥们说有很多电影,问我要不要?我就让他一个一个的写过来,让哥们累个不轻。所以就想简单写个程序,获取一下文件夹下面的所有文件名称,这样就可以节省很多时间了。
软件呢,我已经上传到网站了:http://download.csdn.net/source/1802599
vb版本目录获取器 1.0(龙卷风出品)
说明:
1.选好目录后,可以直接得到目录下的文件夹和文件名称,以及统计数目。
2."树形结构"按键将会把各文件夹和文件罗列下来。
3."树形展开"将把目录下的子目录也一并展开。大家测试的时候需要注意,不要用太深的目录来测。
下面开始动手的步骤:
vb中有个函数Dir(),这个就是今天的主角了。Dir()第一次调用的时候,必须指定路径。然后其会返回一个string,这就是一个文件夹,或者一个文件的名称了。具体用法,大家google一下吧。我就不多说了。
然后就是区分返回值是文件夹,还是文件。这里用到的就是vbDirectory(=16)这个属性了。
OK. 剩下的就简单了,我把我软件中的这部分发出来share一下,大家不要说水平太差哟:
首先我是将文件显示做了区分:文件夹名称显示folderlist(),文件名称显示filelist():
Private Function folderlist(pathname As String, treeflag As Integer) 'treeflag:0列表 1树形 2树形展开
'文件夹数和名称
Dim sf As String
sf = Dir(pathname, vbDirectory) '获取第一个目录名
foldernum = 0
Do While sf <> ""
' 跳过当前的目录及上层目录
If sf <> "." And sf <> ".." Then
If (GetAttr(pathname + sf) And vbDirectory) = vbDirectory Then
If treeflag = 0 Then
Text2 = Text2 & sf & vbCrLf ' 如果它是一个目录,将其名称添加到列表
ElseIf treeflag = 1 Then
Text2 = Text2 & Treestr & sf & vbCrLf
ElseIf treeflag = 2 Then '树形展开的时候,需要了解子目录,所以还需进行递归调用
Text2 = Text2 & Treestr & sf & vbCrLf
folderlist pathname + sf, treeflag
filelist pathname + sf, treeflag
End If
foldernum = foldernum + 1 '统计文件夹数目
End If
End If
sf = Dir() ' 查找下一个目录
Loop
If treeflag = 0 Then
If foldernum <> 0 Then
Text2 = Text2 & vbCrLf & "======共有" & foldernum & "个文件夹======" & vbCrLf & vbCrLf
Else
Text2 = Text2 & "======无子目录======" & vbCrLf & vbCrLf
End If
ElseIf foldernum <> 0 Then
Text2 = Text2 & Nullstr & vbCrLf & Nullstr & vbCrLf
End If
End Function
Private Function filelist(pathname As String, treeflag As Integer) '0列表
1树形 2树形展开
'文件数和名称
Dim a As String
a = Dir(pathname & "\*.*")
filenum = 0
Do While a <> ""
If treeflag = 0 Then
Text2 = Text2 & a & vbCrLf
Else
Text2 = Text2 & Treestr & a & vbCrLf
End If
filenum = filenum + 1 '统计文件数目
a = Dir
Loop
If treeflag = 0 Then
If filenum <> 0 Then
Text2 = Text2 & "======共有" & filenum & "个文件======"
Else
Text2 = Text2 & "======无文件信息======"
End If
End If
End Function
OK,现在大家都已经了解处理机制了。应该不会再管我要什么源码了吧!呵呵
相关文章推荐
- vb实现获取指定目录内的所有文件(包括子目录)
- vb实现目录下所有文件名/目录名称的获取
- 获取指定目录(包含子目录)下所有的txt文件的个数,并打印文件名称?
- 用java实现获取某目录下的所有文件
- C#Winfrom获取指定目录下所有文件名称和文件名称相应的目录 并且添加到DataTable
- 获取某目录下的所有文件(包括子目录下文件)的数量(C#/VB.NET)
- PHP递归获取目录内所有文件的实现方法
- 获取指定包名下继承或者实现某接口的所有类(扫描文件目录和所有jar)
- C#实现修改目录文件下所有子文件的名称---按规律重命名
- 获取某目录或文件夹下的所有.xls文件的名称
- 获取指定目录(包含子目录)下所有的txt文件的个数,并打印文件名称。程序2。
- 获取指定目录(包含子目录)下所有的txt文件的个数,并打印文件名称。程序1。
- java获取一个目录下的所有的文件或文件夹名称
- 获取某目录下的所有文件(包括子目录下文件)的数量(C#/VB.NET)
- 获取一个目录下的所有文件名称
- php 获取目录下所有文件实现代码
- java 获取指定目录下所有文件的名称
- 获取一个目录下的所有文件
- 使用.net FtpWebRequest 实现FTP常用功能 上传 下载 获取文件列表 移动 切换目录 改名
- PHP 实现删除某个目录下N天前的所有文件