以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]如何获取一个文件目录下所有的文件啊  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=158512)

--  作者:hfapplehao
--  发布时间: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



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





--  作者:有点蓝
--  发布时间:2020/11/22 20:56:00
--  
要使用递归

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

--  作者:hfapplehao
--  发布时间:2020/11/22 21:45:00
--  
棒棒哒,一下子就解决了我的问题!谢谢老师