Heute möchten wir Ihnen eine kleine Funktion vorstellen, mit der sich der gesamte Inhalt eines Ordners (alle Dateien und einschl. aller Unterordner) in einen neuen Ziel-Ordner kopieren lässt. Der Zielordner wird hierbei autom. erstellt, falls dieser nicht existiert. Über den optionalen Parameter "bOverWrite" kann zudem festgelegt werden, ob gleichnamige Dateien im Ziel-Ordner überschrieben werden sollen oder nicht. ' Gesamten Inhalt eines Ordners kopieren Public Sub CopyFolder(ByVal sSrcPath As String, _ ByVal sDestPath As String, _ Optional ByVal bSubFolder As Boolean = True) Optional ByVal bOverWrite As Boolean = True) ' Falls Zielordner nicht existiert, jetzt erstellen If Not System.IO.Directory.Exists(sDestPath) Then System.IO.Directory.CreateDirectory(sDestPath) End If ' zunächst alle Dateien des Quell-Ordners ermitteln ' und kopieren Dim sFiles() As String = System.IO.Directory.GetFiles(sSrcPath) Dim sFile As String For i As Integer = 0 To sFiles.Length - 1 ' Falls Datei im Zielordner bereits existiert, nur ' kopieren, wenn Parameter "bOverWrite" auf True ' festgelegt ist sFile = sFiles(i).Substring(sFiles(i).LastIndexOf("\") + 1) If bOverWrite Or Not System.IO.File.Exists(sDestPath & "\" & sFile) Then System.IO.File.Copy(sFiles(i), sDestPath & "\" & sFile, True) End If Next i If bSubFolder Then ' jetzt alle Unterordner ermitteln und die CopyFolder-Funktion ' rekursiv aufrufen Dim sDirs() As String = System.IO.Directory.GetDirectories(sSrcPath) Dim sDir As String For i As Integer = 0 To sDirs.Length - 1 If sDirs(i) <> sDestPath Then sDir = sDirs(i).Substring(sDirs(i).LastIndexOf("\") + 1) CopyFolder(sDirs(i), sDestPath & "\" & sDir, True, bOverWrite) End If Next i End If End Sub Aufrufbeispiel: ' Ordner "d:\temp" einschl. aller Unterordner ' nach "d:\Kopie von temp" kopieren CopyFolder("d:\temp", "d:\kopie von temp") ' alle Dateien des Ordners "d:\temp" nach "e:\kopie" ' kopieren, wobei Unterordner NICHT kopiert werden sollen CopyFolder("d:\temp", "e:\kopie", False) Dieser Tipp wurde bereits 34.460 mal aufgerufen.
Anzeige
![]() ![]() ![]() (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. |
Neu! sevEingabe 3.0 ![]() Einfach stark! Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Tipp des Monats Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
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. |