VB编程:获取文件夹下所有文件

简介: VB编程:获取文件夹下所有文件

1.jpg

Private Function TreeSearch(ByVal sPath As String, ByVal sFileSpec As String) As Long

   DoEvents

   Static Files As Long

   Dim sDir As String

   Dim sSubDirs() As String

   Dim Index As Long

   Dim sFiles() As String

 

   If Right(sPath, 1) <> "\" Then sPath = sPath & "\"

   '获取文件名和数目

 

   sDir = Dir(sPath & sFileSpec)

 

   Do While Len(sDir)

 

      Files = Files + 1

      ReDim Preserve sFiles(1 To Files)

      sFiles(Files) = sPath & sDir

   

      '显示到列表

      List1.AddItem sFiles(Files)

      List1.ListIndex = List1.ListCount - 1

   

      sDir = Dir

   Loop

   '获取文件夹名称

   Index = 0

   sDir = Dir(sPath, vbDirectory)

   Do While Len(sDir) 'sDir <> ""

       If sDir <> "." And sDir <> ".." Then

           If GetAttr(sPath & sDir) And vbDirectory Then

               Index = Index + 1

               ReDim Preserve sSubDirs(1 To Index)

               sSubDirs(Index) = sPath & sDir & "\"

           End If

       End If

       sDir = Dir

   Loop

   '递归调用,获取子文件夹目录

   For Index = 1 To Index

       Call TreeSearch(sSubDirs(Index), sFileSpec)

   Next Index

   TreeSearch = Files

End Function



Private Sub Command1_Click()

 

   Print TreeSearch(Text1.Text, Combo1.Text)

 

End Sub



Private Sub Command2_Click()

   End

End Sub



'Private Sub Command3_Click()

'    List1.Clear

'End Sub



Private Sub Form_Load()

   Text1.Text = "D:\vb小程序\vb实例"

   Dim spec As Variant

   spec = Array("*.*", "*.exe", "*.vbp")

   Combo1.Text = spec(0)

   For i = 0 To UBound(spec)

       Combo1.AddItem spec(i)

   Next i

End Sub


相关文章
|
关系型数据库 MySQL Linux
卸载、下载、安装mysql(Linux系统centos7)
卸载、下载、安装mysql(Linux系统centos7)
418 0
|
编译器 C语言 C++
C/C++内存对齐规则(结构体、联合体、类)
C/C++内存对齐规则(结构体、联合体、类)
|
存储 Kubernetes C++
Kubernetes VS Docker Swarm:哪个容器编排工具更适合你?
当今,容器化技术已成为IT领域的热门话题,而容器编排工具是实现容器自动化部署和管理的关键。本文将比较两种主流的容器编排工具Kubernetes和Docker Swarm,并探讨它们的优缺点,以帮助你选择最适合自己的工具。
|
10月前
|
JSON API 开发者
京东店铺所有商品数据接口(JD.item_search_shop)丨京东API接口指南
JD.item_search_shop 是京东开放平台提供的接口,用于获取店铺所有商品数据。请求方法为 GET,主要参数包括 shopId(必填)、page、pageSize 和 sortType。开发者需先注册并获取 API 密钥,确定目标店铺 ID 后构建请求。响应为 JSON 格式,适用于电商应用、价格比较和市场分析等场景。
|
7月前
|
人工智能 自然语言处理 算法
通义灵码全新上线模型选择功能,新增支持DeepSeek-V3和DeepSeek-R1模型
通义灵码全新上线模型选择功能,新增支持DeepSeek-V3和DeepSeek-R1模型
|
XML Java Android开发
34. 【Android教程】菜单:Menu
34. 【Android教程】菜单:Menu
488 2
|
域名解析 网络协议 程序员
程序员必知:【转】adns解析库——域名解析实例(C++、linux)
程序员必知:【转】adns解析库——域名解析实例(C++、linux)
274 0
|
Arthas 运维 监控
排忧解难:线上问题排查工具箱
线上系统在各行各业中扮演关键角色,任何问题都可能对企业运营造成严重影响。排查复杂性增加,需要专门的线上问题排查工具箱。工具箱包含监控、日志分析、性能分析和故障排查工具,如系统监控的`top`、`htop`,应用监控的`New Relic`、`AppDynamics`,日志分析的`ELK Stack`、`Graylog`,以及故障排查的`jps`、`jstack`、`Arthas`等。这些工具能提升问题解决效率,降低排查成本,确保业务连续性。
359 2
|
弹性计算 Serverless 应用服务中间件
ECS迁移问题之跨账号迁移ECS如何解决
ECS(Elastic Compute Service,弹性计算服务)是云计算服务提供商提供的一种基础云服务,允许用户在云端获取和配置虚拟服务器。以下是ECS服务使用中的一些常见问题及其解答的合集:
|
存储 SQL 数据库
软件体系结构 - 架构风格(10)数据库系统架构风格
【4月更文挑战第21天】软件体系结构 - 架构风格(10)数据库系统架构风格
311 0