
42908
20.08.2008, aktualisiert am 21.08.2008
VB - Dateien und Ordner kopieren - jedoch nur neuere daten
Hallo Leute,
ich bin dabei in VB ein kleines Programm zu schreiben, dass mir Dateien und Ordner vom Netz auf ein vorher ausgewähltes Laufwerk kopiert.
Das auswählen des Ziellaufwerks klappt auch ohne Probleme.
Nur würde ich den Kopiervorgang gerne so gestalten, dass er nur neuere Dateien kopiert. Wie z.B. bei xcopy mit dem Parameter "/d".
Ist dies auch mit Basic möglich? Das Programm soll erkennen, ob die Quell-dateien neuer oder älter sind als die Zieldateien, damit nicht unnötige Dateien kopiert werden.
Habe es bereits mit "Filecopy" und "My.Computer.FileSystem.CopyDirectory" versucht. Jedoch habe ich nichts über Parameter gefunden, die das Datum abgleichen.
Gruß,
Patrick
ich bin dabei in VB ein kleines Programm zu schreiben, dass mir Dateien und Ordner vom Netz auf ein vorher ausgewähltes Laufwerk kopiert.
Das auswählen des Ziellaufwerks klappt auch ohne Probleme.
Nur würde ich den Kopiervorgang gerne so gestalten, dass er nur neuere Dateien kopiert. Wie z.B. bei xcopy mit dem Parameter "/d".
Ist dies auch mit Basic möglich? Das Programm soll erkennen, ob die Quell-dateien neuer oder älter sind als die Zieldateien, damit nicht unnötige Dateien kopiert werden.
Habe es bereits mit "Filecopy" und "My.Computer.FileSystem.CopyDirectory" versucht. Jedoch habe ich nichts über Parameter gefunden, die das Datum abgleichen.
Gruß,
Patrick
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 94894
Url: https://administrator.de/forum/vb-dateien-und-ordner-kopieren-jedoch-nur-neuere-daten-94894.html
Ausgedruckt am: 23.04.2025 um 23:04 Uhr
3 Kommentare
Neuester Kommentar
Hallo System#Schneider!
Sieh Dir einmal die "My.Computer.FileSystem.GetFileInfo"-Methode an - damit kannst Du das Änderungsdatum ("FileSystemInfo.LastWriteTime"-Eigenschaft) der Quell- und Zieldatei auslesen.
In einer Schleife über alle Quelldateien kannst Du dann jeweils feststellen, ob die Zieldatei existiert bzw ob diese jünger ist - anderenfalls "My.Computer.FileSystem.CopyFile" mit Option "overwrite".
Grüße
bastla
"My.Computer.FileSystem.CopyDirectory"
So bequem wird's wohl nicht gehen ...Sieh Dir einmal die "My.Computer.FileSystem.GetFileInfo"-Methode an - damit kannst Du das Änderungsdatum ("FileSystemInfo.LastWriteTime"-Eigenschaft) der Quell- und Zieldatei auslesen.
In einer Schleife über alle Quelldateien kannst Du dann jeweils feststellen, ob die Zieldatei existiert bzw ob diese jünger ist - anderenfalls "My.Computer.FileSystem.CopyFile" mit Option "overwrite".
Grüße
bastla
Hallo System#Schneider!
Die Schleife (am Beispiel aller ".txt"-Dateien des Ordners "D:\Texte") sähe in VB2005 (welche Version verwendest Du eigentlich?) etwa so aus:
Grüße
bastla
Die Schleife (am Beispiel aller ".txt"-Dateien des Ordners "D:\Texte") sähe in VB2005 (welche Version verwendest Du eigentlich?) etwa so aus:
Dim File As Object, AllFiles As String = "", DateModified As Date
For Each File In My.Computer.FileSystem.GetFiles("D:\Texte", FileIO.SearchOption.SearchTopLevelOnly, "*.txt")
DateModified = My.Computer.FileSystem.GetFileInfo(File).LastWriteTime
AllFiles = AllFiles & vbCrLf & DateModified & " " & File.ToString
Next
MsgBox(Mid(AllFiles, 3)) 'Erste Zeilenschaltung überspringen
bastla