Rubrik: HTML/Internet/Netzwerk · Internet / Browser / IE | VB-Versionen: VB2005, VB2008 | 12.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 Otter | Bewertung: | Views: 13.060 |
www.tools4vb.de | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | 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")