Vor kurzem wurden wir im Forum gefragt, wie sich eine vorhandene Ordnerstruktur 1:1 kopieren lässt. Hierbei sollten nicht die in den Ordnern und Unterordnern enthaltenen Dateien kopiert werden, sondern einfach nur alle Ordner und ggf. vorhandene Unterordner ermittelt werden und genau diese ermittelte Ordnerstruktur auf einem anderen Laufwerk bzw. innerhalb eines anderen Ordners erstellt werden. Zu diesem Zeitpunkt gab es bereits die ersten Releases unserer VBEx32.DLL, so dass obige Frage schnell beantwortet war, denn mit den in der VBEx32.DLL enthaltenen Funktionen lässt sich eine Ordnerstruktur "verdammt schnell" ermitteln und auch erstellen. Sollten Sie die Visual Basic Extended Libaray (kurz VBEx32.DLL) noch nicht installiert haben, so downloaden und installieren Sie diese über nachfolgenden Link. Download: VBEx32.DLL (Setup - 598 KB) Um eine komplette Ordnerstruktur 1:1 zu kopieren, benötigen Sie nachfolgende Funktionen aus dem "Befehlsverzeichnis" der VBEx32.DLL: ' benötigte Funktions-Deklarationen Private Declare Function VBEX_FolderList Lib "vbex32.dll" _ Alias "VBFOLDERLIST" ( _ ByVal sPath As String, _ nSubFolder As Integer, _ sFolders() As String) As Long Public Declare Function VBEX_MakeDir Lib "vbex32.dll" _ Alias "VBMAKEDIR" ( _ ByVal sPath As String) As Integer Und hier der "Kopier"-Code: Dim nCount As Long Dim sSource As String Dim sDest As String Dim sLast As String Dim i As Long ' Ausgangsverzeichnis sSource = "d:\" ' Zielverzeichnis sDest = "e:\temp" If Right$(sDest, 1) = "\" Then sDest = Left$(sDest, Len(sDest) - 1) ' zunächst alle Ordner / Unterordner des ' Ausgangsverzeichnisses ermitteln Screen.MousePointer = vbHourglass ReDim sFolders(5000) As String nCount = VBEX_FolderList(sSource, 1, sFolders()) If nCount >= 0 Then ' Jetzt Ordner-Struktur kopieren For i = nCount To 0 Step -1 If Left$(sLast, Len(sFolders(i)) + 1) <> sFolders(i) & "\" Then VBEX_MakeDir sDest & sFolders(i) sLast = sFolders(i) & "\" End If Next i MsgBox "Ordnerstruktur wurde 1:1 kopiert!" Else MsgBox "Ausgangsverzeichnis enthält keine Ordner." End If Der Vorteil von VBEX_MakeDir gegenüber der normalen MKDIR-Anweisung in VB ist, dass die VBEx-Funktion autom. verschachtelte Unterverzeichnisse erstellen kann. Deshalb durchlaufen wir die ermittelte Ordner-Liste auch rückwärts. Dieser Tipp wurde bereits 18.082 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 April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 sevOutBar 4.0 Vertikale Menüleisten á la Outlook Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. |
||||||||||||||||
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. |