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

本文介绍了一款使用VB编写的程序,该程序可以获取指定目录下的所有文件和子目录名称,包括文件数量和目录结构。通过Dir()函数实现文件和目录的遍历,提供列表和树形两种展示方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

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

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值