Mit nachfolgender Funktion lässt sich ein Ordner mitsamt allen vorhandenen Unterordner in ein neues Verzeichnis verschieben, wobei das Zielverzeichnis ggf. vorher erstellt wird, falls dieses noch nicht existiert. ' Verschieben von Ordner mittels FSO ' mit autom. Erstellung von verschachtelten ' Verzeichnissesn im Zielordner Public Function MoveFolder(ByVal Source As String, _ ByVal Dest As String, _ Optional ByVal bOverwrite As Boolean = False) As Boolean ' Paramterliste: ' Source: Quellordner ' Dest: Zielordner ' bOverwrite: Optional. ' Vorhandene Dateien überschreiben ja/nein On Error Resume Next Dim aStrFolder() As String Dim i As Integer Dim strParentFolder As String Dim bFolderBenoetigt As Boolean ' FSO-Objekt erstellen Dim FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") ' Wenn Zielverzeichnis bereits vorhanden... If FSO.FolderExists(Dest) And FSO.FolderExists(Source) Then ' ... nur wenn Parameter bOverwrite = True If bOverwrite = True Then ' Ordner kopieren FSO.CopyFolder Source, Dest, True ' Quellordner löschen FSO.DeleteFolder Source, True End If ElseIf FSO.FolderExists(Source) Then ' zunächst Zielverzeichnis erstellen strParentFolder = FSO.GetParentFolderName(Dest) i = 0 Do While Not FSO.FolderExists(strParentFolder) ReDim Preserve aStrFolder(i) aStrFolder(i) = strParentFolder i = i + 1 strParentFolder = FSO.GetParentFolderName(strParentFolder) bFolderBenoetigt = True Loop If bFolderBenoetigt And i = 0 Then FSO.CreateFolder aStrFolder(i) ElseIf bFolderBenoetigt And i > 0 Then For i = UBound(aStrFolder) To LBound(aStrFolder) Step -1 FSO.CreateFolder aStrFolder(i) Next End If ' jetzt Ordner verschieben FSO.MoveFolder Source, Dest Else ' Quellordner existiert nicht! MoveFolder = False Exit Function End If If FSO.FolderExists(Dest) And Not FSO.FolderExists(Source) Then MoveFolder = True Else MoveFolder = False End If On Error GoTo 0 End Function Anwendungsbeispiel: ' Ordner d:\temp mitsamt Unterordner auf Laufwerk ' e: in das Verzeichnis \temp\test verschieben, wobei das ' Zielverzeichnis autom. erstellt wird, falls nicht vorhanden MoveFolder "d:\temp", "e:\temp\test" Dieser Tipp wurde bereits 10.514 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
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. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. sevWizard für VB5/6 Professionelle Assistenten im Handumdrehen Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) |
||||||||||||||||
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. |