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 33.433 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 Mai 2024 Hermann Röttger Wochentage eines Datumsbereichs ermitteln Wochentage eines Datumsbereichs ermitteln, optional mit Feiertagsberechnung TOP! Unser Nr. 1 Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. |
||||||||||||||||
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. |