![]() |
Tipp 0176
|
Verzeichnisse zusammenführen
|
 |
|
Autor/Einsender: Datum: |
|
Michael Werner 12.02.2008 |
|
Entwicklungsumgebung: |
|
VB.Net 2005 |
Framework: |
|
2.0 |
|
|
Die Methode My.Computer.FileSystem.CopyDirectory mit den entsprechenden Parametern
kopiert den Inhalt des angegebenen Verzeichnisses sowie das Verzeichnis selbst in
ein Zielverzeichnis. Wenn das Zielverzeichnis nicht vorhanden ist, wird es erstellt.
|
In diesem Tipp geht es nicht um ein einfaches Kopieren eines Ordners inklusive Unterordner,
sondern um das Zusammenführen eines Quellordners mit einem gleichnamigen Zielordner.
Grundbedingung für das Zusammenführen ist die Gleichnamigkeit der Ordner.
Wenn am Zielspeicherort ein Verzeichnis mit dem gleichen Namen vorhanden ist, wird
der Inhalt der beiden Verzeichnisse am Zielort zusammengeführt.
|
Zusammenführen heißt, die Daten werden am Zielort abgeglichen, Änderungen werden aktualisiert: alles,
was im Zielordner nicht oder in veralteter Dateiversion vorliegt, wird kopiert
beziehungsweise überschrieben. Dateien, die im Quellordner nicht mehr vorhanden sind,
werden im Zielordner nicht gelöscht, sondern beibehalten. Es geht also nichts verloren,
sondern es wird nur geupdatet.
|
|
|
Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e _
As System.EventArgs) Handles btnCopy.Click
OrdnerZusammenführen(txtSrcPath.Text, txtDestPath.Text)
End Sub
Private Sub OrdnerZusammenführen(ByVal srcPath As String, ByVal _
destPath As String)
'Prüfen, ob gleichnamig und dann kopieren
If GetFileName(srcPath) <> GetFileName(destPath) Then
MessageBox.Show("Quell-und Zielordner müssen für das "& _
Zusammenführen" & vbNewLine & "gleichnamig sein!", _
"Abbruch", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
txtDestPath.Text = My.Settings.DestinationPath
Exit Sub
End If
Try
'Ordner zusammenführen
'Falls Zielordner noch nicht existiert, wird dieser angelegt.
Dim showUI As FileIO.UIOption = _
FileIO.UIOption.OnlyErrorDialogs
Dim onUserCancel As FileIO.UICancelOption = _
FileIO.UICancelOption.ThrowException
My.Computer.FileSystem.CopyDirectory(srcPath, destPath, _
showUI, onUserCancel)
MessageBox.Show("Die Verzeichnisse wurden am Zielort " & _
"erfolgreich zusammengeführt!" & vbNewLine & vbNewLine & _
srcPath & " ---> " & destPath, "Zusammenführen war " &_
erfolgreich", MessageBoxButtons.OK, _
MessageBoxIcon.Information)
'Beide Ordner öffnen
Process.Start(srcPath)
Process.Start(destPath)
Catch ex As IOException
MessageBox.Show("Es ist eine Fehler aufgetreten!" & _
vbNewLine & vbNewLine & "Fehlerursache:" & vbNewLine & _
ex.Message & vbNewLine & vbNewLine & _
"Der Vorgang wurde abgebrochen.", "Abruch wegen Fehler!", _
MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
End Sub |
|
|
|
|
Windows-Version |
98/SE |
 |
|
ME |
 |
|
NT |
 |
|
2000 |
 |
|
XP |
 |
|
Vista |
 |
|
Win
7 |
 |
|
|
|
Download (20,3
kB)
|
Downloads bisher: [ 301 ]
|
|
|