|
Public Function RemoveFTPDirectory(ByVal StrServer As String, ByVal StrUser As String, ByVal StrPWD As String, ByVal strPathFTP As String, Optional ByVal BoolErr As Boolean = False) As Boolean
Rem 删除FTP文件夹 不存在的也认为是被删除了
Rem StrServer FTP服务器地址
Rem StrUser 登录用户名
Rem StrPWD 用户密码
Rem StrPathFTP Ftp文件夹名 "A/123/"
Rem BoolErr 是否显示出错信息, 默认=false 不显示
Rem 代码整理: 北极狐工作室QQ: 14885553
Dim BL As Boolean, BLA As Boolean
Dim C_FTP As New ClassFTP
Dim strPathFTPParent As String
Set C_FTP = New ClassFTP '//创建一个类
C_FTP.SetModePassive
Rem 登录FTP服务器
BL = C_FTP.OpenConnection(StrServer:=StrServer, StrUser:=StrUser, StrPWD:=StrPWD)
If BL = True Then
Rem 登陆后开始判断
' strPathFTPParent = Left(strPathFTP, InStrRev(strPathFTP, "/") - 1) '如果最有边有"/",去除最右边的"/"符
' strPathFTPParent = Left(strPathFTPParent, InStrRev(strPathFTPParent, "/")) '获得上级路径
strPathFTPParent = Left(strPathFTP, InStrRev(strPathFTP, "/")) '如果最右边无"/"符
If strPathFTPParent <> "" Then '如果当前不是根目录
BLA = C_FTP.SetFTPDirectory(strPathFTPParent)
Else
BLA = True
End If
If BL = True Then
Rem 登陆后开始删除
strPathFTP = Replace(strPathFTP, strPathFTPParent, "") '当前路径中的文件夹
BL = C_FTP.RemoveFTPDirectory(strPathFTP:=strPathFTP)
Else
BL = True '//不存在认为是删除了
End If
End If
C_FTP.CloseConnection '//关闭链接
If Len("" & C_FTP.GetLastErrorMessage) > 0 Then '//如果出错
Rem 是否显示错误信息
If BoolErr = True Then
MsgBox "RemoveFTPDirectory出错" & vbCrLf & C_FTP.GetLastErrorMessage, vbInformation, "北极狐工作室QQ: 14885553"
End If
End If
RemoveFTPDirectory = BL
End Function |
|