Foxtable(狐表)用户栏目专家坐堂 → 文件递归问题


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

主题:文件递归问题

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
文件递归问题  发帖心情 Post By:2018/11/11 16:41:00 [只看该作者]

我的需求是:列出所有文件名,并不带后缀?

 

 

1、自定义函数:递归

Dim path As String = args(0)
Dim ls = args(1)

'For Each file As String In FileSys.GetFiles(path)
For Each file As String In FileSys.GetName(path)
'For Each file As String In io.Directory.GetFiles(path)
    ls.add(file)
Next

For Each p As String In FileSys.GetDirectories(path)
    Functions.Execute("递归", p, ls)
Next

 

2、执行下面代码:

Dim ls As new List(Of String)
Functions.Execute("递归", "d:\dd", ls)
msgbox(String.join("|", ls.ToArray))

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20181111164031.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/11 16:47:00 [只看该作者]

你现在是想去掉后缀?

 

Dim fl = "abc.txt"
Dim idx As Integer = fl.LastIndexOf(".")
fl = fl.SubString(0,idx)
msgbox(fl)


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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/11/11 17:26:00 [只看该作者]

我想取得文件夹下面的所有文件名,不包含路径,因为我指定的文件夹下面有子文件夹,子文件夹下可能还有子文件夹?不是仅仅去掉后缀。

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20181111173835.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2018/11/11 17:38:48编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/11 18:32:00 [只看该作者]

Dim path As String = args(0)
Dim ls = args(1)

For Each file As String In FileSys.GetFiles(path)
    Dim fl = FileSys.GetName(file)
    Dim idx As Integer = fl.LastIndexOf(".")
    fl = fl.SubString(0,idx)
    ls.add(fl)
Next

For Each p As String In FileSys.GetDirectories(path)
    Functions.Execute("递归", p, ls)
Next


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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/11/11 20:04:00 [只看该作者]

二个问题请教老师:

1、在自定义函数中注释中文或用中文等 对以后译编及执行有没有影响??

 

2、在“图像明细”表DataRowDeleting事件中,执行下面代码不起作用?

 

If e.DataRow IsNot Nothing Then
    Dim dglst As new List(Of String)
    Dim fl As String
    Functions.Execute("wjdg_path_dglst","D:\资料现场图像",dglst)
    For Each dgls As String In dglst
        If  e.DataRow.SQLGetValue("CRC") =  CRCCheckFile(dgls)   '= e.DataRow.SQLGetValue("CRC") Then
            FileSys.DeleteFile(dgls,2,3)  '将文件发送到回收站
        End If
    Next
End If

[此贴子已经被作者于2018/11/11 20:56:39编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/11 20:55:00 [只看该作者]

1、没影响;

 

2、没看懂你这段代码的意思。CRCCheckFile要传进去的要是完整的路径。你 dglst 要得到的应该是文件的全路径才行。


 回到顶部