vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: HTML/Internet/Netzwerk · Internet / Browser / IE   |   VB-Versionen: VB2005, VB200812.05.10
Verschachtelte Verzeichnisse auf einem FTP-Server erstellen

Eine Funktion, mit der sich mit einem einzigen Aufruf ein verschachteltes Verzeichnis auf einem FTP-Server erstellen lässt.

Autor:   Dieter OtterBewertung:  Views:  11.062 
www.tools4vb.deSystem:  Win2k, WinXP, Vista, Win7, Win8, Win10 Beispielprojekt auf CD 

Heute zeigen wir Ihnen, wie man per Funktionsaufruf ein Verzeichnis beliebiger Tiefe (verschachteltes Verzeichnis) auf dem FTP-Server erstellen kann.

Imports System.Net
''' <summary>
''' Erstellt ein verschachteltes Verzeichnis auf einem FTP-Server
''' </summary>
''' <param name="Host">FTP-Server</param>
''' <param name="User">Benutzername für die Anmeldung</param>
''' <param name="Pwd">Passwort</param>
''' <param name="Path">Pfad, der erstellt werden soll</param>
''' <returns>True, wenn erfolgreich. Andernfalls False.</returns>
Public Function FtpCreateDir(ByVal Host As String, _
  ByVal User As String, _
  ByVal Pwd As String, _
  ByVal Path As String) As Boolean
 
  ' Sicherstellen, dass Host mit ftp:// beginnt
  If Not Host.EndsWith("/") Then Host &= "/"
  If Not Host.StartsWith("ftp://") Then Host = "ftp://" & Host
  If Path.StartsWith("/") Then Path = Path.Substring(1)
 
  ' Pfad rekursiv erstellen
  Dim curPath As String = ""
  Do
    Try
      ' aktueller Pfad
      If Path.IndexOf("/") >= 0 Then
        curPath &= Path.Substring(0, Path.IndexOf("/"))
        Path = Path.Substring(Path.IndexOf("/") + 1)
      Else
        curPath &= Path
        Path = ""
      End If
 
      curPath &= "/"
 
      ' FTP-Kommando zusammenstellen
      Dim oRequest As WebRequest = WebRequest.Create(Host & curPath)
      With oRequest
        .Method = WebRequestMethods.Ftp.MakeDirectory
        .Credentials = New NetworkCredential(User, Pwd)
        .Proxy = System.Net.WebRequest.DefaultWebProxy
      End With
 
      ' Kommando absenden
      Dim oResponse As WebResponse = oRequest.GetResponse()
 
    Catch ex As WebException
      ' Wenn bspw. die Anmeldung am FTP-Server gescheitert ist
      If ex.Status <> WebExceptionStatus.ProtocolError Then Return False
 
    Catch ex As Exception
      ' Bei anderen Fehlern Funktion ebenfalls verlassen
      Return False
    End Try
  Loop Until Path.Length = 0
  Return True
End Function

Aufrufbeispiel:

Dim bResult As Boolean = _
  FtpCreateDir("host", "user", "pwd", "ordner/subordner1/subordner2")



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2019 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.