16,554
社区成员
发帖
与我相关
我的任务
分享
'先引用上面的类,或者直接Copy到项目里 (拿来主义 =。=|| )
Private Sub CreateFloders(ByVal sourcepath As String, ByVal savepath As String)
obj.GotoDirectory(sourcepath)
Dim dirlist As FileStruct() = obj.ListDirectories '获取目录列表
Dim dir As String = ""
If sourcepath.IndexOf("\") > 0 Then
dir = savepath & sourcepath.Substring(sourcepath.LastIndexOf("\"))
Else
dir = savepath & sourcepath
End If
System.IO.Directory.CreateDirectory(dir) '在本地创建目录
For i As Integer = 0 To dirlist.Length - 1
System.IO.Directory.CreateDirectory(dir & "\" & dirlist(i).Name)
obj.GotoDirectory(dirlist(i).Name)
Dim subdirlist As FileStruct() = obj.ListDirectories '获取子目录
If subdirlist.Length > 0 Then
CreateFloders(sourcepath & "\" & dirlist(i).Name, dir) '如果有子目录,递归
obj.GotoDirectory(sourcepath) '返回上级目录
End If
Next
End Sub
Private WithEvents obj As New clsFTP
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
obj.Uri = New Uri("ftp:\\124.193.***.***:**")
obj.UserName = "myuser"
obj.Password = "************"
CreateFloders(".\test", "D:\") '将FTP主目录\test 复制到本地D:\下
'obj.DownloadFileAsync("bsmain_runtime.log", "C:\", "1.txt")
'AddHandler obj.DownloadDataCompleted, AddressOf test
End Sub