vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Ordner vergleichen 
Autor: Manfred X
Datum: 29.04.11 10:15

Hallo!

Irgendwie scheine ich es nicht zu kapieren ...
Stehen die beim Vergleich aufeinander zu beziehenden Dateien
in unterschiedlich benannten Unterordnern???

Was an diesem Code GENAU funktioniert nicht wie gewünscht??
(CopyChangedFilesToNewDirectory)
Als Parameter werden drei Angaben des Typs "Laufwerk:\Ordner\..."
erwartet.

Der Ausgabeordner "NewFolder" wird jedes mal komplett neu angelegt,
inclusive der jeweils BENÖTIGTEN Unterordner.
Die zu kopierenden Dateien werden in die entsprechend
benannten Unterordner gestellt.

Module modFolderFuck
 
    <System.Runtime.CompilerServices.Extension()> _
    Private Function StringListToUpper _
        (ByVal Lst As List(Of String)) As List(Of String)
        Dim iLst As New List(Of String)
        For i As Integer = 0 To Lst.Count - 1
            iLst.Add(Lst(i).ToUpper)
        Next i
        Return iLst
    End Function
 
    Private Function CopyToFolder(ByVal SourceFile As String, _
                                 ByVal DestFile As String, _
                                 ByVal Overwrite As Boolean) As Boolean
 
        Try
            If Not IO.File.Exists(SourceFile) Then Return False
            Dim parts() As String = DestFile.Split("\"c)
            If String.IsNullOrEmpty(DestFile) Then Return False
            If Not IO.Directory.Exists(parts(0)) Then Return False 'Laufwerk
 
            For i As Integer = 1 To parts.Length - 2
                parts(0) &= "\" & parts(i)
                If Not IO.Directory.Exists(parts(0)) Then
                    IO.Directory.CreateDirectory(parts(0))
                End If
            Next i
            IO.File.Copy(SourceFile, DestFile, Overwrite)
            Return True
        Catch
            Return False
        End Try
    End Function
 
    Public Function CopyChangedFilesToNewDirectory _
              (ByVal CompareFolder As String,
               ByVal BasicFolder As String, _
               ByVal NewFolder As String) As Boolean
        Try
            CompareFolder = CompareFolder.ToUpper
            BasicFolder = BasicFolder.ToUpper
 
            If IO.Directory.Exists(NewFolder) Then
                IO.Directory.Delete(NewFolder, True)
            End If
            IO.Directory.CreateDirectory(NewFolder)
 
 
            Dim comparefiles As List(Of String) = _
            My.Computer.FileSystem.GetFiles(CompareFolder, _
             FileIO.SearchOption.SearchAllSubDirectories, _
             "*.*").ToList.StringListToUpper
 
            Dim basicfiles As List(Of String) = _
            My.Computer.FileSystem.GetFiles _
            (BasicFolder, _
             FileIO.SearchOption.SearchAllSubDirectories, _
             "*.*").ToList.StringListToUpper
 
            For i As Integer = 0 To comparefiles.Count - 1
              Dim comparefile As String = comparefiles(i)
              comparefile = comparefile.Replace(CompareFolder, BasicFolder)
              Dim tocopy As Boolean = False
              If Not basicfiles.Contains(comparefile) Then
                 tocopy = True
              Else
                 Dim index As Integer = basicfiles.IndexOf(comparefile)
                 If basicfiles(index).Length <> comparefiles(i).Length Then
                    tocopy = True
                 End If
                 If New IO.FileInfo(basicfiles(index)).LastWriteTime <> _
                     New IO.FileInfo(comparefiles(i)).LastWriteTime Then
                     tocopy = True
                 End If
              End If
 
              If tocopy Then
                comparefile = comparefile.Replace(BasicFolder, NewFolder)
                CopyToFolder(comparefiles(i), comparefile, True)
              End If
            Next i
            Return True
        Catch
            Return False
        End Try
 
    End Function
 
End Module


Beitrag wurde zuletzt am 29.04.11 um 10:23:59 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Ordner vergleichen4.050MartinS.27.04.11 12:20
Re: Ordner vergleichen1.895Manfred X27.04.11 12:52
Re: Ordner vergleichen1.769Manfred X27.04.11 16:09
Re: Ordner vergleichen1.789MartinS.27.04.11 16:19
Re: Ordner vergleichen1.725Manfred X27.04.11 16:39
Re: Ordner vergleichen1.756MartinS.28.04.11 09:09
Re: Ordner vergleichen1.890Manfred X28.04.11 09:39
Re: Ordner vergleichen1.776Micke28.04.11 19:02
Re: Ordner vergleichen1.735Manfred X28.04.11 20:29
Re: Ordner vergleichen1.778MartinS.29.04.11 09:31
Re: Ordner vergleichen1.856Manfred X29.04.11 10:15
Re: Ordner vergleichen1.908MartinS.03.05.11 09:55
Re: Ordner vergleichen1.593Manfred X03.05.11 10:35
Re: Ordner vergleichen1.673MartinS.03.05.11 12:14
Re: Ordner vergleichen1.676Manfred X03.05.11 14:28
Re: Ordner vergleichen1.641MartinS.03.05.11 16:46
Re: Ordner vergleichen1.742Micke03.05.11 17:30
Re: Ordner vergleichen1.570Micke03.05.11 14:57
Re: Ordner vergleichen1.662Micke29.04.11 12:28

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 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