vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2015
 
zurück
Rubrik: Dateisystem · Ordner & Verzeichnisse   |   VB-Versionen: VB.NET05.03.07
Ordner einschl. aller Unterordner kopieren (VB.NET)

Mit dieser Funktion lässt sich ein kompletter Ordner, einschl. aller Dateien und Unterordner kopieren.

Autor:   Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  19.179 
www.tools4vb.deSystem:  WinNT, Win2k, WinXP, Vista, Win7, Win8, Win10 Beispielprojekt auf CD 

Summer-Special bei Tools & Components!
Gute Laune Sommer bei Tools & Components
Top Summer-Special - Sparen Sie teilweise über 100,- EUR
Alle sev-Entwicklerkomponenten und Komplettpakete jetzt bis zu 25% reduziert!
zum Beispiel:
  • Developer CD nur 455,- EUR statt 569,- EUR
  • sevDTA 2.0 nur 224,30 EUR statt 299,- EUR
  •  
  • vb@rchiv   Vol.6 nur 18,70 EUR statt 24,95 EUR
  • sevCoolbar 3.0 nur 58,70 EUR statt 69,- EUR
  • - Werbung -Und viele weitere Angebote           Aktionspreise nur für kurze Zeit gültig

    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 19.179 mal aufgerufen.

    Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

    Über diesen Tipp im Forum diskutieren
    Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

    Aktuelle Diskussion anzeigen (1 Beitrag)

    nach obenzurück


    Anzeige

    Kauftipp Unser Dauerbrenner!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.
     
       

    Druckansicht Druckansicht Copyright ©2000-2015 vb@rchiv Dieter Otter
    Alle Rechte vorbehalten.
    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.

    Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel