Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:怎样判断一个路径是文件还是文件夹

1楼
lianghanyu 发表于:2023/9/11 14:50:00
用GetDetailist  返回的是所有文件和文件夹的名字,   那么, 我应该怎么样判断这些返回的字符串中,哪些是属于文件,哪些是属于文件夹呢?


2楼
有点蓝 发表于:2023/9/11 15:20:00
目录没有修改时间和大小
[此贴子已经被作者于2023/9/11 20:59:32编辑过]
3楼
lianghanyu 发表于:2023/9/11 20:56:00
好的,注意到这个细节了。

但是又遇到困难了,我原本是想把一个文件夹下所有的文件登记入我的表格。  但是我用for语句,  不会计算下一级。如果文件夹下边有很多子文件夹?我该怎么样对子文件 夹一,一 遍历呢?

我这以下这个代码,只能遍历一次啊,如果有很多的子文件夹,要怎么办?

Dim ftp As New FTPClient
Dim ip As String = Tables("网络设置").Current("地址")
Dim ac As String = Tables("网络设置").Current("帐号")
Dim pa As String = Tables("网络设置").Current("密码")
Dim po As String = Tables("网络设置").Current("端口")
ftp.Host = ip
ftp.Account = ac
ftp.Password = pa
ftp.Port = po
Dim path As String = "/2023" 
Dim dls As List(Of String) = ftp.GetDetailList(path)
Dim fls As List(Of String)
Dim path1 As String

For Each dl As String In dls
    
    Output.Show(dl)
    
Next 



4楼
有点蓝 发表于:2023/9/11 21:08:00
要使用递归

建一个自定义函数,假设名称为child,代码
dim ftp as FTPClient = args(0)
dim path as string = args(1)

Dim dls As List(Of String) = ftp.GetDetailList(path)
For Each dl As String In dls
    Output.Show(dl)
    If dl.EndsWith("*D") Then
        Functions.Execute("child",ftp ,path & "\" & dl.split("*")(0))
    End If 
Next 

命令窗口测试
Dim ftp As New FTPClient
Dim ip As String = Tables("网络设置").Current("地址")
Dim ac As String = Tables("网络设置").Current("帐号")
Dim pa As String = Tables("网络设置").Current("密码")
Dim po As String = Tables("网络设置").Current("端口")
ftp.Host = ip
ftp.Account = ac
ftp.Password = pa
ftp.Port = po
Dim path As String = "\2023" 
Functions.Execute("child",ftp ,dl)
[此贴子已经被作者于2023/9/11 23:04:12编辑过]
5楼
lianghanyu 发表于:2023/9/12 7:43:00

图片点击可在新窗口打开查看此主题相关图片如下:123.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:321.jpg
图片点击可在新窗口打开查看

6楼
有点蓝 发表于:2023/9/12 8:36:00
Dim path As String = "\2023" 
Functions.Execute("child",ftp ,path )
7楼
lianghanyu 发表于:2023/9/12 9:01:00
谢谢。  为此,我去帮助里学习一下递归函数
共7 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04688 s, 2 queries.