vb实现目录下所有文件名/目录名称的获取

来源:互联网 发布:希尔伯特矩阵 正定 编辑:程序博客网 时间:2024/05/17 08:20

 前几日,有个哥们说有很多电影,问我要不要?我就让他一个一个的写过来,让哥们累个不轻。所以就想简单写个程序,获取一下文件夹下面的所有文件名称,这样就可以节省很多时间了。

 

软件呢,我已经上传到网站了: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,现在大家都已经了解处理机制了。应该不会再管我要什么源码了吧!呵呵

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 香信得登录密码忘了怎么办 苹果手机迅雷下载不了的资源怎么办 快手官方私信你的作品违规了怎么办 顺丰生鲜速配食物坏了怎么办 半年汽车没有年检 交警抓到怎么办 没年检的车子被交警抓到怎么办 去年检的路上被交警抓了怎么办 微信聊天界面群聊删除找不到怎么办 微博抽奖的奖品没发货怎么办 两个微信号绑了一个手机号怎么办 欧月玫瑰花朵叶子上有白粉怎么办 进对方空间被挡不想让他知道怎么办 qq上买东西给钱了对方没给怎么办 微信钱包手势密码忘记了怎么办 买家一起拍了两件宝贝怎么办 宿雾航空付款无法显示验证码怎么办 不小心把购物车的东西删了怎么办 微信在别人电脑登录忘退出怎么办 微信电脑版忘了退出怎么办 给微商交了定金不给退怎么办 方舟手游飞龙驯服时间不够怎么办 淘宝上买了假货找不到商家怎么办 魅蓝手机一直在开机画面怎么办 在实体店买的手机想退怎么办 淘宝买了东西发货了不想要了怎么办 快递已经发货了不想要了怎么办 锤子手机买了不到十天碎屏了怎么办 唯品会新人专享优惠卷过期了怎么办 我微信被系统说赌博登陆不起怎么办 平湖新居民积分卡怎么办办好办吗 电话卡插上去只能打紧急电话怎么办 不小心充错q币了怎么办 液相色谱柱堵了怎么办处理柱子 扣扣空间宠物消消87关怎么办 微信钱包里的钱忘记密码了怎么办 支付宝绑定银行卡要验证码怎么办 微信红包超出20万限额怎么办 微信充电信的号码话费没到账怎么办 农业银行手机银行转账转错了怎么办 微信钱包里的零钱不见了怎么办 买家说支付宝没钱要微信付钱怎么办