Foxtable(狐表)用户栏目专家坐堂 → [求助]如何获取一个文件目录下所有的文件啊


  共有2034人关注过本帖树形打印复制链接

主题:[求助]如何获取一个文件目录下所有的文件啊

帅哥哟,离线,有人找我吗?
hfapplehao
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:194 积分:1944 威望:0 精华:0 注册:2018/3/30 19:56:00
[求助]如何获取一个文件目录下所有的文件啊  发帖心情 Post By:2020/11/22 20:43:00 [只看该作者]

实在是没办法了,写了一个星期的代码就是没写出来。所以来请教老师

情况是这样的,我想通过foxtable这个软件写出一个小程序,来实现批量给文件命名的功能

思路就是在D盘新建一个文件夹,如--->D:\需要重命名的文件夹(假设文件路径为fl)
然后把需要批量命名的文件夹放在这个文件中(fl)
这个文件的结构如图:
图片点击可在新窗口打开查看此主题相关图片如下:需要提取的文件夹名称.png
图片点击可在新窗口打开查看


为了获取这个文夹中的所有文件,这个代码应该怎么写啊?

第一部 提取所有的文件夹
Dim fl As String
fl = "D:\需要重命名的文件"

Dim cot As new List(of String)
For Each dir As String In filesys.GetDirectories(fl)
    cot.add(dir)
    Do While filesys.getdirectories(dir).count <>0
        For Each rr As String In filesys.getdirectories(dir)
            cot.add(rr)
            dir = rr
        Next
        
    Loop
Next

For Each pr As String In cot
    output.show(pr)
Next

运行结果如下: 

D:\需要重命名的文件\a1
D:\需要重命名的文件\a1\a1-1
D:\需要重命名的文件\a1\a1-2
D:\需要重命名的文件\a1\a1-3
D:\需要重命名的文件\a1\a1-4
D:\需要重命名的文件\a2
D:\需要重命名的文件\a2\a2-1
D:\需要重命名的文件\a2\a2-2
D:\需要重命名的文件\a2\a2-3
D:\需要重命名的文件\a2\a2-4



只能获取第二层的文件夹这样一个目录,运行失败。如果是目录层数很多的话,这个基本上行不通
求救大神,这个代码应该怎么写 ?





 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106028 积分:539233 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/22 20:56:00 [只看该作者]

要使用递归

 下载信息  [文件大小:292.0 KB  下载次数:5]
图片点击可在新窗口打开查看点击浏览该文件:文件递归.table

 回到顶部
帅哥哟,离线,有人找我吗?
hfapplehao
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:194 积分:1944 威望:0 精华:0 注册:2018/3/30 19:56:00
  发帖心情 Post By:2020/11/22 21:45:00 [只看该作者]

棒棒哒,一下子就解决了我的问题!谢谢老师

 回到顶部