用GetDetailist 返回的是所有文件和文件夹的名字, 那么, 我应该怎么样判断这些返回的字符串中,哪些是属于文件,哪些是属于文件夹呢?
目录没有修改时间和大小
[此贴子已经被作者于2023/9/11 20:59:32编辑过]
好的,注意到这个细节了。
但是又遇到困难了,我原本是想把一个文件夹下所有的文件登记入我的表格。 但是我用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
要使用递归
建一个自定义函数,假设名称为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编辑过]
Dim path As String = "\2023"
Functions.Execute("child",ftp ,path )