Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VB - Dateien und Ordner kopieren - jedoch nur neuere daten

Frage Entwicklung Basic

Mitglied: 42908

42908 (Level 1)

20.08.2008, aktualisiert 21.08.2008, 9764 Aufrufe, 3 Kommentare

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
Mitglied: bastla
20.08.2008 um 17:08 Uhr
Hallo System#Schneider!

"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
Bitte warten ..
Mitglied: 42908
21.08.2008 um 08:17 Uhr
Guten Morgen,

danke erst mal für den Tipp.
Leider kann ich die "Filesysteminfo.lastwritetime" nicht wirklich finden. Wie genau muss ich den Befehl anwenden?

Zur Schleife:

Also ich habe in einem Ordner mehrere Unterordner mit Dateien und auch Dateien direkt im Root-Verzeichnis des Ordners. Nun möchte ich mittels checkboxen auswählen welche der Unterordner kopiert werden sollen. Ebenso sollen die Dateien, die direkt im Ordner liegen auch nach Datum abgeglichen werden und dann evtl kopiert werden.
Wie genau muss ich dazu die Schleife bauen?! Für Anregungen wäre ich dankbar...

Gruß,
Patrick
Bitte warten ..
Mitglied: bastla
21.08.2008 um 10:33 Uhr
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:
01.
Dim File As Object, AllFiles As String = "", DateModified As Date 
02.
For Each File In My.Computer.FileSystem.GetFiles("D:\Texte", FileIO.SearchOption.SearchTopLevelOnly, "*.txt") 
03.
    DateModified = My.Computer.FileSystem.GetFileInfo(File).LastWriteTime 
04.
    AllFiles = AllFiles & vbCrLf & DateModified & " " & File.ToString 
05.
Next 
06.
MsgBox(Mid(AllFiles, 3)) 'Erste Zeilenschaltung überspringen
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Windows 10
gelöst Onedrive-Daten kopieren ohne neu zu synchronisieren? (5)

Frage von 1410640014 zum Thema Windows 10 ...

Microsoft Office
gelöst Excel VBA UserForm1 - Daten in neue Datei kopieren (10)

Frage von abuelito zum Thema Microsoft Office ...

C und C++
Dateien in Ordner kopieren anhand vom Teil eines Dateinamen (22)

Frage von onlyforu8373 zum Thema C und C ...

Batch & Shell
gelöst Batch aktuellsten Ordner kopieren (2)

Frage von MmarKuss zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(2)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
gelöst Leiten "dumme" Switches VLAN-Tags mit durch? (26)

Frage von coltseavers zum Thema Netzwerkprotokolle ...

Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (16)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Router & Routing
FTTH bzw FTTB Router (13)

Frage von ukulele-7 zum Thema Router & Routing ...