Supprimer un répertoire ftp récursivement

Contenu du snippet

Vous n'avez qu'à utiliser FtpRecursiveRemoveDirectory (session, nom_du_dossier) et le répertoire se supprime récursivement sur le serveur distant!

Source / Exemple :


Public Function FtpRecursiveRemoveDirectory(ByVal hConnect As Long, ByVal dirName As String) As Boolean
    Dim hList As Long
    Dim WFDI As WIN32_FIND_DATA 'IMPORTANT DE DÉCLARER LE TYPE
    Dim fName As String
    Dim dirDepth As Byte
    Dim fileNum As Integer
    Dim hTest As Long
    
    FtpSetCurrentDirectory hConnect, dirName
    DoEvents
    dirDepth = 1
    
loopPoint:
    While dirDepth
        hList = FtpFindFirstFile(hConnect, "*.*", WFDI, 0, 0)
        If hList Then
            Do
                fName = StripNull(WFDI.cFileName)
                If fName <> "." And fName <> ".." Then
                    If WFDI.dwFileAttributes = 16 Then
                        If FtpCommand(hConnect, False, 2, "rmd " & fName, 0, hTest) = False Then
                            FtpSetCurrentDirectory hConnect, fName
                            DoEvents
                            InternetCloseHandle hList
                            DoEvents
                            dirDepth = dirDepth + 1
                            GoTo loopPoint
                        End If
                    Else
                        FtpDeleteFile hConnect, fName
                    End If
                End If
            Loop While InternetFindNextFile(hList, WFDI)
        End If
        FtpSetCurrentDirectory hConnect, ".."
        DoEvents
        InternetCloseHandle hList
        DoEvents
        dirDepth = dirDepth - 1
    Wend
    
    InternetCloseHandle hList
    FtpCommand hConnect, False, 2, "rmd " & dirName, 0, hTest
    FtpRecursiveRemoveDirectory = True
End Function

Conclusion :


Je n'ai pas trouvé de bugs dans mon code, important s'il y en a signalez-les moi!

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.