FTP - Ordner löschen

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von NIkkIWk369.

    FTP - Ordner löschen

    Hi Leute !!! 8-)

    Ich arbeite momentan an einem FTP-Client...

    Der ist auch schon fast fertig aber ich habe noch ein Problem beim Löschen von Ordnern.

    Hier mein Code zum Löschen von Ordnern:

    VB.NET-Quellcode

    1. Dim request As Net.FtpWebRequest = Net.FtpWebRequest.Create("ftp://***/testordner")
    2. request.Method = Net.WebRequestMethods.Ftp.RemoveDirectory
    3. request.Credentials = New Net.NetworkCredential("***", "***")
    4. Dim response As Net.FtpWebResponse = request.GetResponse()


    Aber mit dem Code kann ich nur leere Ordner löschen...

    Meine Frage also: :?:
    Wie kann ich Ordner löschen, die nicht leer sind ???

    Schon mal Danke im Vorraus für schnelle Antworten :thumbsup:

    NIkkIWk369
    ja, wie jvbsl gesagt hat, du durchsuchst den ordner nach allen dateien, löscht alle dateien und dann den ordner.
    macht ein "richtiges" ftp programm auch so, wenn ich ordner löschen klicke löscht das ftp programm zuerst alle dateien, dann den ordner
    ja selber machen...
    guck dir doch diese schöne Auflistung an: Net.WebRequestMethods.Ftp.
    da gibt es die Möglichkeit alles aus dem Ordner aufzulisten, für jeden Ordner rufst du wieder die rekursive Methode auf, welche nach Orndern und Dateien durchsucht...alles einzeln davon musst du nur noch löschen...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Ich hab es jetzt hinbekommen, dass ich Ordner, in denen Dateien sind löschen kann

    VB.NET-Quellcode

    1. Dim request As FtpWebRequest = DirectCast(WebRequest.Create(New Uri("ftp://***/testordner")), FtpWebRequest)
    2. request.Method = WebRequestMethods.Ftp.ListDirectory
    3. request.Credentials = New NetworkCredential("***", "***")
    4. Dim streamr As New StreamReader(request.GetResponse().GetResponseStream())
    5. While Not streamr.EndOfStream = True
    6. Try
    7. Dim request2 As Net.FtpWebRequest = Net.FtpWebRequest.Create("ftp://***/testordner/" + streamr.ReadLine())
    8. request2.Method = Net.WebRequestMethods.Ftp.DeleteFile
    9. request2.Credentials = New Net.NetworkCredential("***", "***")
    10. Dim response As Net.FtpWebResponse = request2.GetResponse()
    11. Catch
    12. End Try
    13. End While
    14. streamr.Close()
    15. Dim request3 As Net.FtpWebRequest = Net.FtpWebRequest.Create("ftp://***/testordner")
    16. request3.Method = Net.WebRequestMethods.Ftp.RemoveDirectory
    17. request3.Credentials = New Net.NetworkCredential("***", "***")
    18. Dim response2 As Net.FtpWebResponse = request3.GetResponse()


    Aber wie mach ich das, dass ich auch unterordner löschen kann ???