![]() |
Tipp 0178
|
Ordner mit Unterordner kopieren
|
 |
|
Autor/Einsender: Datum: |
|
Thomas Becker 20.04.2008 |
|
Entwicklungsumgebung: |
|
VB.Net 2005 |
Framework: |
|
2.0 |
|
|
Normalerweise reicht der Einzeiler
|
|
|
My.Computer.FileSystem.CopyDirectory |
|
|
um ein Ordner mitsamt seinen Unterordnern und allen darin enthaltenen Dateien zu kopieren.
|
Wenn beim Kopiervorgang jedoch Zugriffe auf die Dateien beabsichtigt sind,
also z.B. Ändern von Dateiattributen, dann ist es notwenig, die Dateien im Ordner und allen
Unterordnern rekursiv einzeln zu durchlaufen. Ein solcher rekursiver Aufruf arbeitet
alle Unterordner ab und erfasst nacheinander alle Dateien.
|
|
|
Sub Ordnerkopie(ByVal Quelle As String, ByVal Ziel As String, _
ByVal Ueberschreiben As Boolean)
Dim subdir As IO.DirectoryInfo, diQuelle As New _
IO.DirectoryInfo(Quelle), file As IO.FileInfo
If IO.Directory.Exists(Ziel) = False Then _
IO.Directory.CreateDirectory(Ziel)
'alle Dateien des aktuellen Verz.
For Each file In diQuelle.GetFiles()
If (IO.File.Exists(Ziel & "\" & file.Name.ToString) AndAlso _
Ueberschreiben = False) = False Then _
IO.File.Copy(file.FullName.ToString, Ziel & "\" & _
file.Name.ToString, Ueberschreiben)
Next
'rekursiver Aufruf aller Unterverzeichnisse
For Each subdir In diQuelle.GetDirectories()
Call Ordnerkopie(subdir.FullName.ToString, Ziel & "\" & _
subdir.Name.ToString, Ueberschreiben)
Next
End Sub |
|
|
|
|
Windows-Version |
98/SE |
 |
|
ME |
 |
|
NT |
 |
|
2000 |
 |
|
XP |
 |
|
Vista |
 |
|
Win
7 |
 |
|
|
|
Download (17,7
kB)
|
Downloads bisher: [ 462 ]
|
|
|